不兼容 需要自己实现
/**
* Promise.allSettled
*/
util.promiseAllSettled = (lists = []) => {
let newArr = new Array(lists.length);
let num = 0;
return new Promise((resolve) => {
lists.forEach((item, index) => {
item.then(res => {
let obj = {
status: 'fulfilled',
value: res
};
newArr[index] = obj;
num++;
if (num === lists.length) {
resolve(newArr);
}
}, err => {
let obj = {
reason: err,
status: 'rejected'
};
newArr[index] = obj;
num++;
if (num === lists.length) {
resolve(newArr);
}
});
});
});
}
本文详细介绍了如何使用JavaScript的util.promiseAllSettled方法处理多个Promise,确保所有异步操作的状态(成功或失败)都被收集并返回。该函数遍历数组,对每个Promise进行then和catch处理,将结果存储在新数组中。
2838

被折叠的 条评论
为什么被折叠?



