web-dev-qa-db-ja.com

Angular 4でclearInterval()を使用する方法

Angular 4アプリでsetIntervalを使用しようとしています。

_const inter = setInterval(() => {
  // logic resulting in exitCondition
  if(exitCondition) {
    clearInterval(inter);
  }
}, 1000);
_

この設定はVanilla javascriptでは正常に機能しますが、clearInterval()はAngularでは機能しないようです。いくつかの調査を行うと、Angular 1.xの間隔サービスが見つかりました。

https://docs.angularjs.org/api/ng/service/ $ interval

Angular 4?

9
Kevin Shi

このように設定できます

  this.interval = setInterval(() => {

  }, 1000);

そしてこのように明確に、

if (this.interval) {
   clearInterval(this.interval);
}
20
Sajeetharan

何らかの条件で同じ方法を使用する場合

var a = 1;
    this.interval = setInterval(() => {
      console.log(a++)
      if(a > 30){
        clearInterval(this.interval);
      }
    }, 1000);
1
Ashutosh Jha