promise 的串行执行
function pri (num) {
return new Promise((resolve,reject) => {
console.log('开始'+num)
resolve(num)
})
}
const list = [1,2,3]
function done(list,cb){ list.reduce((s,v) => { return s.then(res => { console.log(res) if (res) { return cb(v+res) }else{ return cb(v) } }) },Promise.resolve()) }
done(list,pri)
let p = Promise.resolve() for (const i of list) { p = p.then(() => pri(i)) }
function done(list,cb){ list.reduce((s,v) => { return s.then(res => { console.log(res) if (res) { return cb(v+res) }else{ return cb(v) } }) },Promise.resolve()) }
done(list,pri)
let p = Promise.resolve() for (const i of list) { p = p.then(() => pri(i)) }