34. 实现`Promise.any()`

JavaScript
觉得这个题有帮助吗?

总共 -通过 / -执行

Promise.any() 接收一个Promise可迭代对象,只要其中的一个 promise 成功,就返回那个已经成功的 promise 。如果可迭代对象中没有一个 promise 成功(即所有的 promises 都失败/拒绝),就返回一个失败的 promise 和AggregateError类型的实例,它是 Error 的一个子类,用于把单一的错误集合在一起。本质上,这个方法和Promise.all()是相反的。

你能实现自己的Promise.any()吗?

注意

AggregateError 暂时还没有被Chrome支持。但是你仍然可以使用它因为我们在judge你的code时候添加了AggregateError。

你可以这样:

new AggregateError(
  'No Promise in Promise.any was resolved', 
  errors
)

争取10分钟以内搞定这个问题

讨论(28)