Published on

setIntervalを条件に応じて無効にする方法(Javascript)

Authors
  • avatar
    Name
    ssu
    Twitter

setIntervalで何らかの処理をさせて、ある条件を満たしたらintervalを終えたい場合があるかと思います。 今回は、どうやったらsetInterval無効化できるのかを紹介したいと思います。

やり方はとても簡単で、clearIntervalを下記のように使えばできます。

var counter = 0 var timer = setInterval(function() { console.log(counter) if (counter === 5) { clearInterval(timer); // 無効化するときはsetintervalのタイマーをclearIntervalに渡してあげるだけです。 } counter += 1 }, 200);

これは何らかの値を取得してき、期待すべき値が取れたときにやめるなどができるので、 結構応用できるかと思います。

[参考: Can clearInterval() be called inside setInterval()?([https://stackoverflow.com/a/16599921/2606557)