async/await初心者です。
以下のような処理を実現させたいです。
js
1$(function(){ 2 async function a(){ 3 return new Promise(function(resolve, reject){ 4 setTimeout(function(){ 5 //いくつかの処理~ 6 7 //↓Uncaught SyntaxError: await is only valid in async functions, async generators and modules 8 await b(); 9 resolve(true); 10 }, 2000); 11 }); 12 } 13 14 function b(){ 15 return new Promise(function(resolve, reject){ 16 setTimeout(function(){ 17 //いくつかの処理~ 18 resolve(true); 19 }, 2000); 20 }); 21 } 22 23 async function c(){ 24 await a(); 25 26 alert('a'); 27 } 28 29 c(); 30});
c()の関数からa()の関数を呼び出し、aの関数で2秒経過後、bの関数の2秒経過を待って呼び出したいです。
最終的に4秒経過してアラートが出る形です。
実際には「Uncaught SyntaxError: await is only valid in async functions, async generators and modules」と出ますが、async関数で呼び出しているつもりなので、よく分かりません。
現在動いているプログラムの形を修正する形で、それを元に例として上のソースを組んだので、大幅な変更なく、処理の実行を行うにはどのようにすべきでしょうか。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/14 16:50