2022-09-18笔试题00
请注意,本文编写于 576 天前,最后修改于 576 天前,其中某些信息可能已经过时。

面试高频手撕代码题

Promise 系列

实现 Promise.race()

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 许可协议。转载请注明出处!