利用reduce进行Promise排队

317 阅读1分钟
// 多个promise
const promises = [.....]

Promise.all(promises).then(res => {
  console.log(res)
  // [.....] 结果
})

// 多个promise
const promises = [.....]

async function runPromise(promises) {
      for(let promise of promises) {
      await promise()
    }
}
// 会引起eslint的报错

// reduce 利用Promise的链式`then`方法
promises.reduce(
(prev, next) => prev.then(() => Axios.post(next)), 
Promise.resolve()
);
// async/await
promises.reduce(async(prev,next)=>{
    await prev
    return Axios.post(next)
    },Promise.resolve()
);