写个超简单的demo,复制就能用:
使用场景: 有多个ajax请求,需要在所有请求都返回结果后回调,执行其他操作。
let len = 10; //循环次数(实际按需求修改)
let arr = []; //promise返回值的数组
for (let i = 0; i < len; i++) {
arr[i] = new Promise((resolve, reject) => {
setTimeout(()=>{
//setTimeout模拟ajax的耗时操作
resolve(i)
},500)
})
}
Promise.all(arr).then((res) => {
//全都ajax都得到返回值后
// 你的操作
}).catch((err) => {
// err 输出
// ...操作
})
需要的童鞋拿走吧…