Ich habe diese Methode verwendet:Observer Rückruf nicht aufgerufen wird, wenn rxjs Intervall
export class PeriodicData {
public checkForSthPeriodically(): Subscription {
return Observable.interval(10000)
.subscribe(() => {
console.log('I AM CHECKING');
this.getData();
});
};
public getData(): Observable<MyObject> {
let objects: MyObject[] = this.filterData();
return Observable.from(objects);
}
public filterData(): MyObject[] {
let someData;
// someData = filter(...) // logic to filter data
return someData;
}
}
Jetzt abonnieren ich getData()
in einer anderen Klasse:
class Another {
constructor(private periodicData: PeriodicData) {
this.periodicData.getData().subscribe(obj => {
console.log('IN ANOTHER CLASS');
});
}
}
Dies funktioniert nicht. Das "IN ANDERER KLASSE" wird nicht protokolliert. Fehle ich etwas?
Funktioniert es, wenn some nicht null ist? –
Try-Catch-Funktion hinzugefügt, um zu sehen, ob es einen Fehler meldet – candidJ
haben Sie kopieren und Ihren eigenen Code this.periodicData.getData(). Subscribe() {(obj) => { console.log ('in einer anderen Klasse "); } sollte this.periodicData.getData() sein subscribe ((obj) => { console.log ('in einer anderen Klasse'); }.); – kit