gpt4 book ai didi

javascript - 在 promise 内返回 promise 时可能出现未处理的错误

转载 作者:行者123 更新时间:2023-11-28 19:37:22 25 4
gpt4 key购买 nike

我有以下代码:

SuccessfulPromise().then(function() {
return rejectedPromise();
}).catch(function(err) {
console.log(err);
});

我收到上述错误消息是故意的还是一个错误?错误在 catch block 中得到处理,尽管如此,我收到错误消息可能未处理的错误

最佳答案

你说:

The problem was with sinon.stub().returns(Promise.rejected('error')). The promise got executed before assigned to an error handler.

我想指出这是正确的。当 Promise 被拒绝时,Bluebird 会检查链以查看是否有任何错误处理程序能够处理它,如果没有,它将触发 possibleUnhandledRejection 事件。因此,如果拒绝发生在分配处理程序之前,您会收到“错误报告”。

但是!它被称为“可能”是有原因的:一旦您为该错误分配了处理程序,系统仍然会检测对该错误的处理,然后它将触发一个 UnhandledRejectionHandled 事件 as documented 。您可以使用后一个事件来确保您不会因超出处理点的错误的未处理拒绝而烦恼。

关于javascript - 在 promise 内返回 promise 时可能出现未处理的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25662678/

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