gpt4 book ai didi

javascript - 如何确定哪个 promise 抛出错误(在 promise 链中)

转载 作者:行者123 更新时间:2023-11-30 14:18:49 25 4
gpt4 key购买 nike

我如何确定三个 promise 中的哪一个导致了错误?

下面的代码是伪代码,但在我的实际代码中,我正在使用第三方库(Stripe 和 Firebase),因此我无法修改实际的 Promises 本身。

我想我可以检查 catch 中的 error 参数是否包含特定值(例如,在 Stripe 中有一个非常详细的错误对象),但肯定一定会有更好的办法。

return async.func.one.doIt()
.then(() => {
return async.func.two.doIt();
})
.then(() => {
return async.func.three.doIt();
})
.then(() => {
return { success: true };
})
.catch((error) => {
// How do I know which 'then' caused
// the catch to invoke?
});

最佳答案

您可以在每个“.then”方法之间放置“.catch”以捕获错误。它应该捕获之前任何 promise 抛出的最接近的错误,直到下一个“.catch”方法。

关于javascript - 如何确定哪个 promise 抛出错误(在 promise 链中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53085611/

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