【js】Promise.all食用指南

我之前看Promise,里面有个方法叫all,因为接口是异步的,当你的业务必须拿到几个不同接口的所有数据后,再进行比较或者逻辑操作,这个时候就可以用到这个方法。
此处贴上示例代码,是以Vue2为框架的背景下:

 // 搭配async await 进一步优化
 // 接口1
 async getA(){
  // return一个Promise实例对象
  return await new Promise((resolve,reject)=>{
       this.API1().then(res=>{
           resolve(res)
        })
    }).catch(error => {
     console.log(error)
   })
  }
 // 接口2
 async getB(){
  // return一个Promise实例对象
  return await new Promise((resolve,reject)=>{
       this.API1().then(res=>{
           resolve(res)
        })
    }).catch(error => {
     console.log(error)
   })
}

 `promise.all是等待所有异步资源加载完毕后再执行代码。`
 // 参数是一个数组,数组里面是一个个接口方法调用
 // 注意:如果有一个接口失败都不能成功返回
getPromiseAll([this.getA(),this.getB()]).then(res=>{
    console.log(res)  //  [{data:{...}},{data:{...}}]  返回一个数组,数组的元素代表不同接口的响应数据
})
posted @ 2020-11-12 16:44  喝阔落的羊  阅读(198)  评论(0编辑  收藏  举报