本来有原生API---allSettled,但直接写这个还有什么意思嘞。
可以给Promise数组map遍历一下.
//解决Promise.all中有reject后续不执行的情况 还可以使用Promise.allSettled
let p1 = new Promise(res => {
res('p1');
})
let p2 = new Promise(res => {
res('p2')
})
let p3 = new Promise((res, rej) => {
rej('p3rtyret')
})
//1.
Promise.all([p1, p2, p3].map(p => p.catch(e => e)))
.then(val => {
console.log(val);
})
.catch(err => {
console.log(err);
})
//2.
Promise.allSettled([p1, p2, p3])
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
})
记录记录!