1 <html>
2
3 <head>
4 <title>Parcel Sandbox</title>
5 <meta charset="UTF-8" />
6 <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script>
7 </head>
8
9 <body>
10 <button id='btn'>Get Data</button>
11
12 <script>
13 function showError(e) {
14 console.warn("Error", e);
15 }
16
17 function fail() {
18 console.log("fail", arguments);
19 }
20
21 function success() {
22 console.log("success", arguments);
23 }
24
25 function getUser(id) {
26 return new Promise((a, b) => {
27 if (id % 2 == 0) {
28 a(654321);
29 } else {
30 b(123456);
31 }
32 });
33 }
34
35 $("#btn").on("click", () => {
36 getUser(666)
37 //当then的参数为两个的时候 无论如何都不执行catch
38 .then(success, fail)
39 //.finally(success)
40 //当then没有第二个参数的时候 b会触发一个找不到函数的异常 被catch捕获
41 .catch(showError);
42 });
43 </script>
44 </body>
45
46 </html>