for循环中执行promise

let promiseList = [];   //promise返回值的数组
      for (let obj of list) {
        let p = new Promise((resolve, reject) => {
          _this.loadLayer.text = '正在生成【' + obj.label + '】数据文件'
          exportList(obj.url,obj.params)
            .then((response) => {
              response.bussinessName = obj.label;
              resolve(response)
            }).catch((e) => {
              reject(e)
           })
        })
        promiseList.push(p);
      }

  Promise.all(promiseList).then((res) => {
   console.log(res)
  }).catch((err) => {
   console.log(err)
  })

 

自己封装

export async function GetDictOptions(dictType) {
  let list = ['yesOrNo','yesOrNo1'];
  let promiseList = [];   // promise返回值的数组
  for (let obj in list) {
    let p = new Promise((resolve, reject) => {
      getDicts(list[obj])
        .then((response) => {
          resolve(response.data);
        }).catch((e) => {
          reject(e);
        });
    });
    promiseList.push(p);
    Promise.all(promiseList).then((res) => {
    }).catch((err) => {
    });
  }
}
   GetDictOptions('yesOrNo').then(function (res) {
      console.log(2222222222222222);
      console.log(res);
      // return nb();
    }).then(resp => {
      console.warn(resp);
      console.warn('1 =========<');
    });

  

 

posted @ 2022-11-15 15:45  前端小沫  阅读(817)  评论(0编辑  收藏  举报