美文网首页
【js】Promise.all食用指南

【js】Promise.all食用指南

作者: 走羊_45bf | 来源:发表于2020-11-12 16:45 被阅读0次

    我之前看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:{...}}]  返回一个数组,数组的元素代表不同接口的响应数据
    })
    

    相关文章

      网友评论

          本文标题:【js】Promise.all食用指南

          本文链接:https://www.haomeiwen.com/subject/ffupbktx.html