<html>
<head>
<title>Parcel Sandbox</title>
<meta charset="UTF-8" />
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script>
</head>
<body>
<button id='btn'>Get Data</button>
<script>
function showError(e) {
console.warn("Error", e);
}
function fail() {
console.log("fail", arguments);
}
function success() {
console.log("success", arguments);
}
function getUser(id) {
return new Promise((a, b) => {
if (id % 2 == 0) {
a(654321);
} else {
b(123456);
}
});
}
$("#btn").on("click", () => {
getUser(666)
//当then的参数为两个的时候 无论如何都不执行catch
.then(success, fail)
//.finally(success)
//当then没有第二个参数的时候 b会触发一个找不到函数的异常 被catch捕获
.catch(showError);
});
</script>
</body>
</html>