この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - JavaScript コーディング問題
35. `Promise.race()`を実装する

function race(promises) {
  return new Promise((resolve, reject) => {
    promises.forEach((promise) => {
      promise.then(resolve).catch(reject);
    });
  });
}

上記のように、Promise.race()を実装するためには、Promiseコンストラクタを使用して新しいPromiseインスタンスを返す関数を作成する必要があります。この関数は、渡された反復可能オブジェクト内のPromiseのうち最初に解決または拒否されたPromiseの値または理由で解決または拒否するPromiseを返します。

上記の実装では、promises反復可能オブジェクト内の各Promiseをチェックし、最初に解決または拒否されたPromiseの値または理由を使用して解決または拒否する新しいPromiseを作成しています。forEachメソッドを使用して各Promiseを処理しているため、race関数自体が非同期であり、Promiseを戻り値として返していることに注意してください。