レッスンでは、constTimeoutId = setTimeout(showTime,1000);というように定数に入れてから
clearTimeout(TimeoutId);というように書いてカウントを止めてたと思うのですが
試しclearTimeout(setTimeout(showTime,1000);というように書いてみました。
するとカウントが増えてもconsole.log(new Date)は止まらなかったです
止まらなかった原因はclearTimeout(setTimeout(showTimeout,1000);というところで、clearTimeout命令より、先にsetTimeout(showTimeout,1000);が読み込まれて、再び関数が実行されたからなのかと思っています。
どうでしょうか?
// 'use strict'
let i=0;
function showTime(){
console.log(new Date);
const TimeoutId = setTimeout(showTime,1000);
i++;
if(i>3){
// clearTimeout( TimeoutId);ここはコメントアウトしてみました
clearTimeout(setTimeout(showTime,1000));
}
}
showTime();
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?