0
Ich habe eine Frage zu Angular2 und Observables. In einem Dienst möchte ich mit einem Observable (geladen von einem anderen Dienst) arbeiten und dann auch Daten als Observable zurückgeben.Angular 2: Arbeit mit Observable und Rückkehr Observable
Wie kann ich das tun? Ich habe diesen Code:
getEPGDayByChannel(channelID, newDate) {
let mydate = new Date(newDate.getFullYear(), newDate.getMonth(), newDate.getDate(), 0, 0, 0);
let fromDate = new Date(mydate.getFullYear(), mydate.getMonth(), mydate.getDate(), 0, 0, 0);
let endDate = new Date(mydate.getFullYear(), mydate.getMonth(), mydate.getDate(), 23, 59, 59);
this.apiService.getChannelEPGbyTime(channelID, fromDate, endDate).
subscribe(
data => {
//do some magic with the data
// return some thing of the data as an observable
return Observable.of(data.programme);
},
error => { this.variables.setFailure(error);}
);
}
Aber mit diesem Code bekomme ich diesen Fehler:
EXCEPTION: Uncaught (in promise): TypeError: this.epgService.getEPGDayByChannel(...) is undefined
Unhandled Promise rejection: this.epgService.getEPGDayByChannel(...) is undefined ; Zone: angular ; Task: Promise.then ; Value: TypeError: this.epgService.getEPGDayByChannel(...) is undefined
Ich würde für etwas Hilfe sehr freuen!
wirklich so einfach ?? : D Es ist alles in Ordnung, vielen Dank! Verbrachte den ganzen Tag mit diesem ^^ Danke! – Junias
@Junias Ja, so einfach ist es. Aber Sie müssen verstehen, dass die 'apiService.getChannelEPGbyTime' nicht aufgerufen wird, sobald Sie Ihre' getEPGDayByChannel' Methode aufrufen, sondern nur wenn Sie sie abonnieren. Ihr Code hat den apiService nur aufgerufen, ohne ihn zu abonnieren. – olivarra1