如果我有以下情况会有什么不同:
async function test () { const foo = await bar() return Promise.all([promise1, promise2]) }
代替:
async function test () { const foo = await bar() const [result1, result2] = await Promise.all([promise1, promise2]) // Given that I don't care about result1, result2 in this `test` function return [result1, result2] }
如果我这样做,我会得到相同的结果.例如,我可以为这两种情况做到这一点:
test().then(([result1, result2]) => { ... })
但我对他们两者的行为方式的基本机制更加好奇.
换句话说,如果在函数内部我返回一个promise而不是一个值,async函数如何处理它?