等待函数调用的顺序

Bra*_*ail 2 javascript asynchronous async-await

我想知道如何美化 javascript 中的代码片段,它看起来像那样

async sequenceOfFunctionCalls () {
   await callFunction1();
   await callFunction2();
   ...
   await callFunctionN(); 
}
Run Code Online (Sandbox Code Playgroud)

JLR*_*she 6

假设您想按顺序(而不是并行)运行它们,我会说最简单的选择是:

for (let func of [callFunction1, callFunction2, ..., callFunctionN]) {
    await func();
}
Run Code Online (Sandbox Code Playgroud)

要并行运行它们:

await Promise.all([callFunction1, callFunction2, ..., callFunctionN].map(f => f()));
Run Code Online (Sandbox Code Playgroud)

或者

await Promise.allSettled([callFunction1, callFunction2, ..., callFunctionN].map(f => f()));
Run Code Online (Sandbox Code Playgroud)