首页 > 解决方案 > Promise.All 有条件地等待 Promise

问题描述

我有一个异步函数列表,每个函数都有一个条件,以便当且仅当满足相应条件并且我想并行运行所有函数时才调用该函数。例子:

await Promise.all([asyncFunc1(), asyncFunc2(), ...]) 

cond1当且仅当满足相应的条件: , cond2, ...时,才应调用列表中的每个函数。这样做的最佳方法是什么?

标签: javascriptasynchronousecmascript-6async-awaites6-promise

解决方案


我想出了这个非常简单的解决方案:

const promiseList = []
if(cond1) promiseList.push(asyncFun1())
if(cond2) promiseList.push(asyncFun2())
...
await Promise.all(promiseList)

推荐阅读