JavaScriptクイズ
Promise.all() で複数のPromiseのうち1つが失敗した場合、どうなりますか?
解説
Promise.all() に渡したPromiseのうち、1つでも失敗すると Promise.all() 全体が失敗します。Promiseの失敗は reject と呼ばれます。const promise1 = Promise.resolve('成功'); const promise2 = Promise.reject('失敗'); await Promise.all([promise1, promise2]);この例では、promise1 は成功していますが、promise2 が失敗しています。そのため、Promise.all() の結果も失敗になります。await と組み合わせる場合は、次のように try...catch でエラーを受け取ることがあります。try { const results = await Promise.all([promise1, promise2]); } catch (error) { console.log(error); }つまり、全部成功した場合だけ結果を受け取りたいという場面に Promise.all() が向いています。