clearTimeout が効かずに繰り返し処理が止まりません
でも何故か コメントアウトした部分を解除すると3秒で止まります
何故、setTimeoutで囲むと clearTimeout が効くようになるのでしょうか?
<script> class Test { constructor() { this.func(); this.i = 0; } show() { this.i++; console.log(this.i); if(this.i > 2) { this.clear(); // setTimeout(()=>{this.clear();}); } } func() { this.stop = setTimeout(()=>{ this.show(); this.func(); }, 1000); } clear() { clearTimeout(this.stop); } } const T = new Test(); </script>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。