"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 的承诺中提取值,然后用它解析 foo
ed 的承诺 return。
如果您直接 return bar
的承诺,那么由 foo
编辑的承诺 return 将采用它达到同样的效果。
如果 Promise 被拒绝,错误会在不同的地方抛出,在你写的两个例子中。
首先, foo
.
中会发生被拒绝的错误
第二个,调用foo
的函数会发生被拒绝的错误
是的。
如果函数 bar() return 是一个 Promise,在第二种情况下 foo 将 return 一个未决的 Promise(一个尚未解决的 Promise)。在第一种情况下,foo 将 return 在等待 Promise 解析后
Promise 解析的数据
和
有区别吗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 的承诺中提取值,然后用它解析 foo
ed 的承诺 return。
如果您直接 return bar
的承诺,那么由 foo
编辑的承诺 return 将采用它达到同样的效果。
如果 Promise 被拒绝,错误会在不同的地方抛出,在你写的两个例子中。
首先, foo
.
第二个,调用foo
是的。
如果函数 bar() return 是一个 Promise,在第二种情况下 foo 将 return 一个未决的 Promise(一个尚未解决的 Promise)。在第一种情况下,foo 将 return 在等待 Promise 解析后
Promise 解析的数据