"return await" 有什么区别吗?

Does "return await" makes any difference?

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

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

其中 bar 是一个 returns 承诺的函数。

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

这是多余的。

它从 bar returned 的承诺中提取值,然后用它解析 fooed 的承诺 return。

如果您直接 return bar 的承诺,那么由 foo 编辑的承诺 return 将采用它达到同样的效果。

如果 Promise 被拒绝错误会在不同的地方抛出,在你写的两个例子中。

首先, foo.

中会发生被拒绝的错误

第二个,调用foo

的函数会发生被拒绝的错误

是的。

如果函数 bar() return 是一个 Promise,在第二种情况下 foo 将 return 一个未决的 Promise(一个尚未解决的 Promise)。在第一种情况下,foo 将 return 在等待 Promise 解析后

Promise 解析的数据