Ich habe gerade über alles, was ich finden kann, versucht und kann nicht scheinen, dieses Intervall zu bekommen, um den Code innerhalb des Abonnements zu tun. Benutze ich das Intervall falsch?Kann nicht aufhören Observable Intervall
var subject = new Subject();
var interval = Observable.interval(this.settings.timing * 1000);
var subscription = interval
.takeUntil(subject)
.subscribe(t => {
console.log('pushing new item');
this.activeItems[0].contentLeaving = true;
setTimeout(()=>{
this.activeItems[0].imageLeaving = true;
setTimeout(()=>{
this.activeItems.push(this.activeItems.shift());
setTimeout(()=>{
this.activeItems[1].contentLeaving = false;
this.activeItems[1].imageLeaving = false;
},510);
},510);
},510);
});
this.moduleProps.intervals.push(subject);
In meinem ngOnDestroy
this.moduleProps.intervals.forEach((i)=>{
i.complete();
});
Aber nachdem dies passiert Ich sehe immer noch die Aussage Konsolprotokoll sagen „neues Element drückt“, als ob es auf meinem Intervall läuft noch ist.
Sie können auch anrufen 'subscription.unsubcscribe()' 'innen subscribe()'. Oder vielleicht verstehe ich nicht, was Sie tun wollen ... – martin