発生している問題
お世話になります。
async function/await/promiseの実行される順番がよくわからないので教えてください。
- なぜ1 5と行かないでasync functionの中に入っていくのですか?(No.1/No.2)
- なぜawaitがあるとasync functionの外に行くのですか?(No.1)
- なぜ2 4と行かないで2 3 4と表示されるのですか?(No.2)
該当のソースコード
javascript
1function pro(){ 2 return new Promise((res)=>{ 3 console.log(3); 4 res(); 5 }); 6} 7 8// No.1 9console.log(1); 10(async function(){ 11 console.log(2); 12 await pro(); 13 console.log(4); 14})(); 15console.log(5); 16// 1 2 3 5 4 17 18// No.2 19console.log(1); 20(async function(){ 21 console.log(2); 22 pro(); 23 console.log(4); 24})(); 25console.log(5); 26// 1 2 3 4 5
質問編集画面タイトル横にある「初心者アイコン」をご活用ください。「初心者」と質問で書くよりも伝わりますし、質問一覧に表示されるのでわかりやすくなります。
試した上で分かったことを記載してください。それぞれ調べればある程度目処はつくはずです。https://teratail.com/help/question-tips#questionTips2-1
アドバイスありがとうございます!承知致しました。
回答3件
あなたの回答
tips
プレビュー