この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。

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

はい、以下は Promise.all() の単純な実装例です。

function myPromiseAll(promises) {  return new Promise((resolve, reject) => {    const results = [];    let counter = 0;    promises.forEach((promise, index) => {      Promise.resolve(promise).then((result) => {        results[index] = result;        counter++;        if (counter === promises.length) {          resolve(results);        }      }).catch((error) => reject(error));    });  });}

この実装は、引数に渡された promises 配列に含まれる全ての Promise オブジェクトが解決されたら、結果の配列を解決するようにしています。Promise.resolve() を使用して、非同期/同期の両方の関数を実行できるようにしました。また、最初に失敗した Promise があれば、直ちに失敗を返します。