手写Promsie.race方法
需求分析
- Promsie.race方法接收一个参数 Promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型),返回一个新的Promsie
- 数组里其中一个Promise失败或者成功,则将执行对应的回调。就采用第一个 promise 的值作为它的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Promise.myRace = function(list) {
return new Promise((resolve, reject) => {
list.map((item, index) => {
// 把数据都处理成Promise
Promise.resolve(item).then(
res => {
resolve(res)
},
err => {
reject(err)
}
)
})
})
}