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 =========<');
});
前端大牛的路上