<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>