业务代码经常会有 两个不一样的请求,拿到数据后合并成新数组的操作。
但是在异步请求中我们不知道哪个请求的回调更快返回,从而使代码的合并时间无法确定。这就需要在两个异步请求都完成后再做数据处理。
展示代码
//定义两个http请求方法 const getList1 = ()=>{ return new Promise((res,rej) =>{ //省去get方法获取过程 .then((json) => resolve(json)) }) } const getList2 = ()=>{ return new Promise((res,rej) =>{ //省去get方法获取过程 .then((json) => resolve(json)) }) } Promise.all([getList1(),getList2()]).then(value => { //第一个请求的数据 const x = value[0]; //第二个请求的数据 const y = value[1]; //合并操作 for(const i of x){ for(const k of y){ //Todo } } })