JavaScriptクイズ
Promise.all() は何をするためのメソッドですか?
解説
Promise.all()は、複数のPromiseを並列に実行し、すべてが完了(fulfilled)した時点で結果を配列として返すメソッドです。const [user, posts] = await Promise.all([ fetchUser(id), fetchPosts(id) ]); // 両方完了してから次へ進む他の選択肢との違いを整理します。「順番に1つずつ実行する」はPromise.all()の動作ではありません。Promise.all()は渡されたPromiseを並列に処理します。順次実行したい場合はfor...ofとawaitを組み合わせるなど、別のアプローチが必要です。「最初に完了したものだけを返す」のはPromise.race()の動作です。race()は最も早く解決または拒否されたPromiseの結果を返します。「成功したものだけを返す」のはPromise.allSettled()に近い発想ですが、正確にはallSettled()は成功・失敗を問わずすべての結果をステータス付きで返します。Promise.all()は1つでも拒否されると即座に全体が拒否される点が重要です。この「1つでも失敗すれば全体が失敗する」という挙動は実務でもハマりやすいポイントです。失敗を許容したい場合はPromise.allSettled()の使用を検討しましょう。