2017-07-25 11 views
2

Ich versuche SetInterval in meiner Angular 4 App zu verwenden.Wie benutze ich clearInterval() in Angular 4

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

Dieses Set funktioniert gut in Vanille Javascript, aber clearInterval() scheint nicht in Eckige zu arbeiten. Nach einigen Recherchen fand ich ein Intervall-Service für Angular 1.x:

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

Gibt es etwas ähnliches für Angular 4? Oder gibt es einen Workaround, um clearInterval() arbeiten zu lassen?

+1

_But clearInterval() scheint nicht in Angular._ zu arbeiten - was Sie sagen, dass macht? –

Antwort

4

Sie mögen dieses gesetzt,

this.interval = setInterval(() => { 

    }, 1000); 

und klar wie diese,

if (this.interval) { 
    clearInterval(this.interval); 
} 
+0

Das hat funktioniert, danke. Würde es Ihnen etwas ausmachen zu erklären, warum es so funktioniert, wenn Sie es innerhalb des Intervalls nicht löschen? –