Promise.allSettled([ // 返回值是一个对象 有status value 失败的时候 为reason
Promise.resolve({
code: 200,
data: [1, 2, 3]
}),
Promise.reject({
code: 500,
data: []
}),
Promise.resolve({
code: 200,
data: [7, 8, 9]
})
]).then(res => {
// status 为 fulfilled表示成功
// rejected 为失败
const data = res.filter(item => item.status === 'fulfilled')
console.log(data);
}).catch(err => {
console.log(err)
console.log('失败');
})
// 解决Promis.all的缺陷 多种并发的时候不会因为其中的一个报错而终止 每一个操作项的值都会返回