没找到原因,不浪费时间, 还是直接使用Promise.all好了。
代码如下:
Promise.all(
requests.map(p => p
.then(value => ({
status: "fulfilled",
value
}))
.catch(reason => ({
status: "rejected",
reason
}))
)
).then(res=>{
this.afterSaleShow = false;
let length = 0;
res.forEach(v=>{
if(v.status =='fulfilled'){
length++;
}
})
// 全部成功,才提示
if(res && length == res.length){
_this.alert('当前操作已完成,操作全部成功~')
} else{
let tip=当前操作已完成,操作成功${length}个,失败${res.length-length}个。
_this.alert(tip)
}
});