const promiseRace = promises => { return new Promise((resolve, reject) => { promises.forEach((promise, index) => { Promise.resolve(promise).then( res => { resolve(res); }, err => { reject(err); } ); }); }); }; // test const p1 = new Promise(resolve => { setTimeout(resolve, 105, 'p1 done'); }); const p2 = new Promise(resolve => { setTimeout(resolve, 100, 'p2 done'); }); promiseRace([p1, p2]).then(data => { console.log(data); // p2 done,可以看到 p2 先被执行,执行完就结束了 });
本文作者:前端小毛
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!