🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` Promise._race = promises => new Promise((resolve, reject) => { promises.forEach(promise => { promise.then(resolve, reject) }) }) ``` 基本和上面的例子差不多,不同点是每个传入值使用Promise.resolve转为Promise对象,兼容非Promise对象 ~~~js const _race = (p)=>{ return new Promise((resolve, reject)=>{ p.forEach((item)=>{ Promise.resolve(item).then(resolve, reject) }) }) } ~~~ ## 参考 [第 89 题:设计并实现 Promise.race()](https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/140)