Ich benutze ein beobachtbares Intervall, um eine bestimmte Funktion jede fünfte Sekunde innerhalb einer bestimmten Komponente auszuführen, bezogen auf einen Pfad in meiner Routenkonfiguration.angular2 - Die beste Methode zum Beenden eines beobachtbaren Intervalls bei Pfadänderungen
Observable.interval(5000).subscribe(res => {
// Something happens here
});
Allerdings möchte ich das Intervall beenden, wenn der Pfad ändert. Jetzt wird nur noch die Aufgabe ausgeführt ...
Was ist der beste Weg, dies zu tun?
var subscription = Observable.interval(5000).subscribe(res => {
// Something happens here
});
// to be called when the route changes
subscription.unsubscribe();
Da die beobachtbaren kalt ist, und es wird nicht mehr Abonnement, wird der beobachtbare angeordnet ...:
Das scheint fair, aber woher weiß ich, wenn sich die Route innerhalb der Komponente ändert? –
Sie können die Hook-Methode routerOnDesactivate in Ihrer Komponente verwenden, um sich abzumelden. Ich habe meine Antwort aktualisiert. –