ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
``` 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)