上篇文章中说明了ajax的Promise实现单个请求的顺序执行过程,下面看看Promise数组的的reduce方法如何顺序执行多个ajax请求。
reduce方法有两个重要的组件,第一个组件是一个方法,这个方法有两个参数,先前的值和当前值,第二个组件是是一个初始值,代表第一个数组元素
[
promise1,
promise2,
promise3,
].reduce((promiseChain, currentTask) => {
return promiseChain.then(_ =>currentTask)
}, initialPromise).then(//do something with return data);
同样Promise中还有一个并行运行的方法,简单介绍一下
Promise.all([
promise1,
promise2,
promise3
]).then(// do something with data)
参考文档: https://decembersoft.com/posts/promises-in-serial-with-array-reduce/