跳到正文

手写练习/Promise

GitHub

手写 Promise.race

中等Promise异步

代码实现

JavaScript13 行
function promiseRace(iterable) {
  const items = Array.from(iterable);

  return new Promise((resolve, reject) => {
    if (items.length === 0) {
      return;
    }

    items.forEach((item) => {
      Promise.resolve(item).then(resolve).catch(reject);
    });
  });
}