gpt4 book ai didi

javascript - 异步函数上的自动错误传递

转载 作者:行者123 更新时间:2023-12-01 00:05:18 24 4
gpt4 key购买 nike

我有一些async函数,它等待其中的一些 promise ,这些 promise 可能会被拒绝,并且我想将所有错误传递给函数返回的 promise 。 JS 会自动执行此操作吗?

例如:

async foo(){
bar_result = await bar();
baz_result = await baz();
return 'ok';
}

foo()
.then(console.log)
.catch(console.error);

如果 bar()baz() 被拒绝,在上面的示例中会发生什么?直观上,它们会在 .catch(console.error) 行被捕获...<​​/p>

我的另一种想法是将函数的内容包含在 try block 中,然后 catch(err){ throw err; },但看起来多余...

最佳答案

async 函数内,如果 Promise 被 awaited,并且 Promise 被拒绝,则该函数将立即终止,并且它返回的 Promise 将被拒绝(与被拒绝的等待 promise 的值相同)。您的函数将按需要工作 - 如果 barbaz 拒绝,console.error 将导致记录拒绝(并且 console.log 不会被调用)。

关于javascript - 异步函数上的自动错误传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60425295/

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