Ich versuche, Observables zu bekommen, aber manchmal in nichts verloren gehen.Observables und Antwortdaten Typings
Angenommen wir getData abonnieren json Daten erhalten asynchron:
this.getData(id)
.subscribe(res => {
console.log(data.items[0])
// more data processing
})
Dies funktioniert, aber die Verarbeitung Antwortdaten innerhalb .subscribe nicht gefällig aussehen. Zuweisen der Antwort auf eine var scheint ein Weg zu gehen:
let data;
this.getData(id)
.subscribe(res => data = res)
console.log(data.items[0])
// more data processing
Aber in diesem Fall erhalten wir Fehler, da var ‚data‘ keine Erstprüfung hat.
TypeError: Cannot read property 'items' of undefined
Erstellen einer Schnittstelle für die JSON-Antwort klingt albern. Was vermisse ich?
Auch das Erstellen einer Callback-Funktion scheint überflüssig zu sein, da es zwei Funktionen benötigt, um die Arbeit einer einzigen Funktion auszuführen.
okay, das verstehe ich. Wie sollte ich es dann strukturieren wo ich die Daten von mehreren Observablen verarbeiten müsste, wenn das sinnvoll ist ..? – iamart
Sie können diese Operationen verwenden: https://github.com/ReactiveX/RxJava/wiki/Combining-Observables
basarat
so was ist der Vorteil der Verwendung von Observablen und nicht nur ein Callback mit anonymer Funktion ? 'func (_, {})' – iamart