gpt4 book ai didi

javascript - JS Q 库 - 延迟错误捕获

转载 作者:行者123 更新时间:2023-11-28 01:31:34 26 4
gpt4 key购买 nike

我正在发现 Kris Koval Q 库,但遇到了问题。看这个简单的代码:

function getPromise1() {
var deferred = Q.defer();
setTimeout(function () {
console.log('Promise 1 OK');
deferred.resolve();
}, 1000);
return deferred.promise;
}


function getPromise2() {
var deferred = Q.defer();
setTimeout(function () {
console.log('Promise 2 Failed');
deferred.reject();
}, 1000);
return deferred.promise;
}

getPromise1()
.then(getPromise2())
.fail(function () {
alert('Fail!');
})
.done();

我希望看到:

Promise 1 OK
Promise 2 Failed

然后显示警报“失败!”,但警报从未显示。相反,我在控制台中看到警告:

[Q] Unhandled rejection reasons (should be empty): ["(no stack) undefined"] 

为什么拒绝没有得到处理,我该如何处理?

最佳答案

then 函数中,您应该仅传递 getPromise2 函数,而不是 getPromise2() 的结果

getPromise1()
.then(getPromise2) // NOTE: We are not calling it here
.fail(function () {
console.log('Fail!');
})
.done();

关于javascript - JS Q 库 - 延迟错误捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22064865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com