gpt4 book ai didi

javascript - 将 “then.catch”嵌套在JavaScript的另一个 “then”中,可以期望什么结果?

转载 作者:行者123 更新时间:2023-12-03 08:45:31 25 4
gpt4 key购买 nike

现在,我正在使用类似于以下结构的代码:

doThis().then(() => {
doThat().then([...]).catch(e => {
console.log('internal catch');
});
}).catch(e => {
console.log('external catch');
});

如果内部函数 doThat()最终返回异常,则内部catch,外部catch或同时发送消息吗?

最佳答案

在您的情况下,只有内部catch才能处理doThat函数调用引发的错误。外部doThis函数根本不知道发生了什么。如果您希望外部捕获来处理它,则必须重新组织代码。

doThis().then(() => {
// By returning the internal promise, the external one will
// now be able to handle both success and error.
return doThat().then([...]).catch(e => {
console.log('internal catch');
// Rethrowing will ensure that the error will propagate to the external handler.
// Otherwise, handling the error in the catch function will make
// the promise successful again.
throw e
});
}).catch(e => {
console.log('external catch');
});

关于javascript - 将 “then.catch”嵌套在JavaScript的另一个 “then”中,可以期望什么结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55639653/

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