再起呼び出しした後処理が返ってこなくなります。
html
1<html> 2<script> 3 (()=>{ 4 let i = 0; 5 let start = async ()=>{ 6 console.log("start()"); 7 await timeCount(); 8 console.log("END"); 9 } 10 11 let timeCount = async ()=>{ 12 console.log("timeCount()"); 13 await everySecond(()=>{ 14 let loopFlg = true; 15 i++; 16 if(i > 2){ 17 loopFlg = false; 18 } 19 return loopFlg; 20 }); 21 }; 22 23 let everySecond = (callback)=>{ 24 console.log("everySecond()"); 25 return new Promise((res)=>{ 26 setTimeout(async ()=>{ 27 let loopFlg = callback(); 28 if(loopFlg==true){ 29 let r = await everySecond(callback); 30 console.log("end"); 31 return r; 32 } 33 },1000); 34 }); 35 } 36 37 start(); 38 })(); 39</script> 40</html>
log
1start() 2timeCount() 3everySecond() 4everySecond() 5everySecond()
再起している処理が戻ってきて
console.log("end");
が3連続実行されて、
console.log("END");
を出して終わると考えて書いたのですが、
new Promiseが返ってきませんでした。
どのように書けば良いのでしょうか?
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。