首页 > 解决方案 > 等待函数调用的顺序

问题描述

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

async sequenceOfFunctionCalls () {
   await callFunction1();
   await callFunction2();
   ...
   await callFunctionN(); 
}

标签: javascriptasynchronousasync-await

解决方案


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

for (let func of [callFunction1, callFunction2, ..., callFunctionN]) {
    await func();
}

要并行运行它们:

await Promise.all([callFunction1, callFunction2, ..., callFunctionN].map(f => f()));

或者

await Promise.allSettled([callFunction1, callFunction2, ..., callFunctionN].map(f => f()));

推荐阅读