字节面试官(手写Promise.all和Promise.race方法)
【字节面试官(手写Promise.all和Promise.race方法)】在工作中promise使用的场景还是很多的,偶尔也会用到其中的all和race方法,前端面试的时候也经常问到,下面就来实现以下。
一、All方法的实现
function myALL(arr){
return new Promise((resolve,reject)=>{
const result = []
let count = 0
let len = arr.length
for(let i = 0;
i < len;
i++){
Promise.resolve(arr[i]).then(res=>{
result[i] = res
count++
if(count === len){
resolve(result)
}
}).catch(err=>{
reject(err)
})
}
})
}
二、Race方法的实现
function myRace(arr){
return new Promise((resolve,reject)=>{
const result = []
let len = arr.length
for(let i = 0;
i < len;
i++){
Promise.resolve(arr[i]).then(res=>{
resolve(res)
}).catch(err=>{
reject(err)
})
}
})
}
推荐阅读
- ts泛型使用举例
- 康恩赫助力线头公益#义卖星推官#,分享你最喜爱的义卖明星
- 二十五、狗(外戚)咬狗(宦官)与第二次党锢
- 2018国考外交部面试演讲不再难——只需把握好三点
- iOS面试题--基础
- 星际无限|星际无限 | 官方推出Filecoin MinerX奖学金计划,吸引中小型Filecoin矿工
- 新垣结衣官宣结婚,从一组男友视角写真,看网友们的“夺妻之恨”
- 1040表格和W-2表格
- java|java 常用知识点链接
- 病理预测