vue多个异步请求都执行完之后再执行下一步

getData1() {
    return new Promise((resolve, reject) => {
        request1(requestParams).then((res) => {//接口1
          xxx
          resolve(res);
        }).catch(e =>{
          reject(e)
        })
    });
},
getData2() {
    return new Promise((resolve, reject) => {
        request2(requestParams).then((res) => {//接口2
          xxx
          resolve(res);
        }).catch(e =>{
          reject(e)
        })
    });
},
getData() {
    this.addLoading()//开始loading
    Promise.all([
      this.getData1(),
      this.getData2()
      ]).then(res => {
        console.log(res);
    })
}

Promise.all()里面的执行顺序是按接口并行执行的,但是返回值依然是按其接口的代码先后顺序来返回的,返回值是一个数组。

你可能感兴趣的:(vue.js,javascript,前端)