異步執行任務A、B、C,。。。。。。
1、使用數組的reduce方法,reduce里有四個參數,pre,next,index,arr,
2、如果then方法里返回的是一個promise對象,那么執行下一個then 的時候必定是在上一個then執行完之后執行
代碼如下
var createPromise = function(time) {
return (resolve, reject)=>
new Promise((resolve, reject)=>{
setTimeout(()=>{
console.log('timein'+time)
resolve();
}, time*1000)
})
}
function serpromise(arr) {
arr.reduce((pre, next, index, carr)=>{
return pre.then(next)
}, Promise.resolve())
}
var arr=[createPromise(2),createPromise(1),createPromise(3),createPromise(4),createPromise(5)];
// Promise.resolve().then(createPromise(2)).then(createPromise(1))
serpromise(arr)
