gpt4 book ai didi

javascript - 如何处理错误并正确使用 Promise

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

首先,我正在对我发布的这个问题进行跟进moments ago

现在,我以为我了解 Aysnc 和 Promise,但显然我错过了一些东西。

引用 Tagged answer by estus ,

Unless API supports promises, errors should be entirely handled in async function. Function body should be wrapped with try..catch to rule out unhandled rejections which may result in exceptions in future Node versions

从中我能够理解,每当我们使用aysnc函数并且我们想要进行错误处理时,我们需要使用try。 .catch 对于普通的 Promise,我们可以简单地执行 resolve/reject 或者如果它已经是一个 Promise,那么我们可以链接并执行 .then.catch 但为此我得到了以下评论回复

Yes, you can expect an error. async/await is just syntactic sugar for raw promises. Any async function can be rewritten in plain ES6

我可能会保留这个问题,但有人可以帮我解释一下吗?

我们什么时候需要使用

.then.catch

什么时候我们需要使用

try..catch

另外,这是什么意思

Unless API supports promises

最佳答案

异步等待代码看起来更干净且易于阅读。创建 Promise 是为了解决回调 hell 问题,但链接大量 Promise 也令人困惑。因此,异步等待是一种语法糖,您可以使用 .then 或异步等待中的任何一个。

如果您使用简单的 Promise 语法,那么您可以使用 .then.then.then.catch() 语法。

如果你使用async和await,那么你必须使用try catch。所有的等待都将进入 try,catch 条件将进入单个 catch。

当您使用的 API/函数返回 promise 时,可以使用这两种方法。

关于javascript - 如何处理错误并正确使用 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53941672/

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