问答题699/1593实现 Promise.race 函数

难度:
2022-05-10 创建

参考答案:

Promise.race 函数返回一个 Promise,它将与参数中第一个完成的promise状态相同。它可以是完成( resolves),也可以是失败(rejects),这要取决于第一个完成的方式是两个中的哪个。

如果传的迭代是空的,则返回的 promise 将永远等待。

如果迭代包含一个或多个非承诺值和/或已解决/拒绝的承诺,则 Promise.race 将解析为迭代中找到的第一个值。

1Promise.race = function(arr) { 2 return new Promise(function(resolve, reject) { 3 if (!Array.isArray(arr)) { 4 return reject(new TypeError('Promise.race accepts an array')); 5 } 6 7 for (var i = 0, len = arr.length; i < len; i++) { 8 Promise.resolve(arr[i]).then(resolve, reject); 9 } 10 }); 11}; 12

最近更新时间:2022-05-10

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!