web-dev-qa-db-fra.com

Comment utiliser clearInterval () dans Angular 4

J'essaie d'utiliser setInterval dans mon Angular 4 app.

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

Cette configuration fonctionne correctement en javascript Vanilla, mais clearInterval() ne semble pas fonctionner en angulaire. Après avoir fait quelques recherches, j'ai trouvé un service d'intervalle pour Angular 1.x:

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

Existe-t-il quelque chose de similaire pour Angular 4? Ou existe-t-il une solution de contournement pour que clearInterval () fonctionne?

9
Kevin Shi

Vous pouvez définir comme ça,

  this.interval = setInterval(() => {

  }, 1000);

et clair comme ça,

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

Si vous voulez dans la même méthode avec une condition

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