获得"最后不是一个功能"在蓝鸟,为什么?

时间:2017-09-22 14:39:28

标签: javascript bluebird

我已经把Bluebird包括在内......

<script src="../../js/libs/bluebird.min.js" type="text/javascript"></script>

当我运行以下代码时......

requestEvent(request, src)

        .then(function (response) {

            ...
        })
        .finally(function () {

            ...
        });

function requestEvent(request, src) {

    return new Promise(function (resolve, reject) {

        $.ajax({
            url: 'mywebsite',
            type: "POST",
            success: function (response) {

                if (response.status == 0) {

                    reject(response.message);
                }

                resolve(response);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {

                reject(XMLHttpRequest.responseText);
            }
        });
    });
}

我明白了......

  

TypeError:requestEvent(...)。then(...)。finally不是函数

为什么最终不存在?

这是客户端/浏览器代码。

1 个答案:

答案 0 :(得分:3)

finally()不是承诺

的函数

阅读本文: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

您需要检查蓝鸟的路径是否正确。

更新2018: .finally() 现在(TC39第4阶段;已完成)现在正式规范的一部分,您可以在上面的相同链接中看到或in this specific page。但是not many browsers support it yet