我偶然发现 an implementation 的 Promise.race() 方法,它按预期工作,但对我来说没有多大意义。
Promise.race()
const race = (...promises) => new Promise((res, rej) => { promises.forEach(p => p.then(res).catch(rej)); });
如何 forEach 循环结束分配 具体承诺 的功能?
forEach
根据定义,承诺只会解决/拒绝一次,无论你多久打一次电话 resolve 或 reject 因此,您所构建的承诺将解决通过的承诺中的第一个承诺所解决的任何问题。
resolve
reject