前提
初めてPromiseを使います。
JavaScriptの関数の中でPromiseを返し、Promise.allで処理したいのですが、
reject()のところでエラーが出てしまいます。
原因が分からないので、教えていただけるとありがたいです。
発生している問題・エラーメッセージ
reject()のところで、以下のエラーが表示されます。
Uncaught (in promise) undefined
該当のソースコード
JavaScript
1function p1(){ 2 const promise1 = new Promise((resolve, reject) => { 3 setTimeout(() => { 4 console.log("promise1"); 5 reject(); 6 }, 2000) 7 }); 8 return promise1; 9} 10 11function p2(){ 12 const promise2 = new Promise((resolve, reject) => { 13 console.log("promise2"); 14 resolve(); 15 }); 16 return promise2; 17} 18 19p1(); 20p2(); 21 22Promise.all([p1, p2]).then(() => { 23 console.log("done"); 24}).catch(() => { 25 console.log("error"); 26});
試したこと
関数にしなければ正常に動作します。
const promise1 = new Promise((resolve, reject) => { setTimeout(() => { console.log("promise1"); reject(); }, 2000) }); const promise2 = new Promise((resolve, reject) => { console.log("promise2"); resolve(); }); Promise.all([promise1, promise2]).then(() => { console.log("done"); }).catch(() => { console.log("error"); });

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。