function PromiseAllSettled(promises) {
const result = []
let len = promises.length
let count = 0
return new Promise((resolve, reject) => {
promises.forEach((ele,index) => { // 每次遍历的判断是否所有的状态改变,如果错误直接reject
const p = ele // 按次序拿出每一个对象
p.then(res => { // resolve操作
result[index] = res
count++
if(count === len ){
resolve(result)
}
}).catch(e => {//如果是promiseAll 有一个被reject就直接返回
result[index] = e
count++
if (count === promises.len) {
reject(result)
}
})
})
})
}
相关文章
- 01-11websocket 群聊和单聊实现简单在线客服,前后端分离环境以及遇到的坑
- 01-11【笔记】简单的线性回归的实现以及向量化的实现
- 01-11简单实现Vue中的双向绑定、生命周期以及计算属性!!!
- 01-11Promise.AllSettled以及Promise.All简单实现
- 01-11前缀中缀后缀表达式以及后缀表达式简单计算的实现
- 01-11express获取参数 以及登录和注册的简单实现
- 01-11tensorflow2.0 tf.data 简单示例 以及实现mnist手写数字识别
- 01-11python简单LWE 加解密方案实现,支持密文同态加法以及常数乘法
- 01-11Promise.all, Promise.race 以及ES2020 新特性 Promise.allSettled
- 01-11基于React,Redux以及wilddog的聊天室简单实现