"等待返回"有什么区别吗?



之间有什么区别吗

const foo = async () => {
// some other code that uses await
return await bar()
}

const foo = async () => {
// some other code that uses await
return bar()
}

其中bar是一个返回promise的函数。

await是多余的还是有什么区别?

它是多余的。

它从bar返回的promise中提取值,然后用它解析foo返回的promet

如果您直接返回bar的promise,那么foo返回的promise也会采用它。

如果Promise被拒绝在您编写的两个示例中,错误将被抛出到不同的地方。

在第一种情况下,foo内部会发生拒绝错误。

在第二个步骤中,调用foo的函数将发生被拒绝的错误

是。

如果函数bar((返回一个Promise,那么在第二种情况下,foo将返回一个挂起的Promise(一个尚未解析的Promise(。在第一种情况下,foo将在等待Promise解析后返回Promise解析的数据

最新更新