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