var promiseArr = [task1, task2, task3];
Promise.all(promiseArr).then(function(){
console.log('全部执行完成');
});
这样是可以全部执行完毕的时在控制台打印**“全部执行完成”; 但是这个并不是串行**的.
问题是: 现在我的promiseArr里面的个数不确定. 所以并不能用 promise.then(task1).then(task2).then(task3); 这样去串行. 想请教下大神们有什么好的解决方法.
回复 (3)
N
mapSeries
A
引用 Neil-UWAmapSeries
@Neil-UWA 多谢.解决了.
M
假设 task1 ... taskn 都是 async function, 即返回 Promise, 顺序执行:
const arr = [task1, task2, ... taskn]
const p = arr.resuce(p, cur => p.then(cur), Promise.resplve())
参与回复
登录后即可参与回复。登录