この解答例は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
を戻り値として返していることに注意してください。