第 89 题:设计并实现 Promise.race()
Promise.race(iterable)
方法返回一个 promise,一旦迭代器中的某个 promise 解决或拒绝,返回的 promise 就会解决或拒绝。更多介绍:https://www.wenjiangs.com/wiki/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise/race
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(20)
resolve()前 没必要return 吧
有点像电路的并行,只要有一个开关打开的就可以接通了。
Promise.race(iterable) 方法返回一个 promise,一旦迭代器中的某个promise解决或拒绝,返回的 promise就会解决或拒绝。
可以通过设置 getPromise 函数的第二个参数,验证race2 输出结果与 race是否一致
Tip:
Promise._race = function(Promises) {
return new Promise((resolve, reject) => {
Promises.forEach(p => p.then(resolve, reject))
})
}
基本和上面的例子差不多,不同点是每个传入值使用Promise.resolve转为Promise对象,兼容非Promise对象