使用promise.all 循环发送ajax请求 保证执行顺序

项目中有个批量签署功能,需要循环获取pdf文件 发现直接发送ajax请求 因为返回的顺序不同,导致签署有问题,遂想到使用promise.all来解决问题

 getPdfList() {
      const paramslist = this.list.map((item) => {
        return {
          billsType: this.signObj.flag,
          drId: item.drId,
          signFileId: item.signFileId,
        };
      });
      const allApi = [];
      paramslist.forEach((e, i) => {
        let data = this.httpHelp.getPdfParams(e);
        const api = seeSignPdfApi(data).then((res) => {
          return res.items[0].pdfBase64;
        });
        allApi.push(api);
      });
      Promise.all(allApi).then((res) => {
        this.pdfarr = res;
      });
    },

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