同时多个请求异步处理

392 阅读1分钟

`

// 多个异步请求完再请求下一个
 testPromise () {
  let proArr = [];
  let fileImgList = [1,1,1,1,1,1,1,1,1,1,1,1];
  let asyncFunc = (params, i) => {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        listLog(params).then(res => {
          resolve(res)
        }).catch(err=>{
          reject(err)
        })
      },200)
    });
  }
  
  let getFunc = async ()=> {
    for (let i = 0; i < fileImgList.length; i++) {
      let params = {
        file:i
      }
      await asyncFunc(params, i);
    }
  }
  getFunc();
},
// 多个同时进行的异步请求的
testAjax () {
  let proArr = [];
  let fileImgList = [1,1,1,1,1,1,1,1,1,1,1,1];
  fileImgList.map((el, index) => {
    setTimeout(() => {
       var p = new Promise((resolve, reject) => {
         listLog(this.queryParams).then(res => {
           resolve(res)
         }).catch(err=>{
           reject(err)
         })
       });
       proArr.push(p);
     },200)
   })
   Promise.all(proArr).then(res=>{
     console.log(res);
   })
}
`