1.foreach
function queue(things){
let promise =Promise.resolve();
things.forEach(thing=>{
promise=promise.then(()=>{
return new Promise(resolve=>{
doThing(thing,()=>{
resolve();
})
})
})
})
return promise
}
queue(['lots','of','things']);
2.reduce
function queue(things){
return things.reduce((promise,thing)=>{
return promise.then(()=>{
return new Promise(resolve=>{
doThing(thing,()=>{
resolve();
})
})
})
}, Promise.resolve())
}
queue(['lots','of','things']);
网友评论