ich einen Dienst mit einer Funktion vom Typ habenWarum erste() rxjs halten Operator Array Rückkehr
getSummary(id: string, universe: string): Observable<INTsummary[]>
Als ich das nenne ich immer nur das erste Element in der INTsummary[]
wollen, also bin ich versuchen rxjs first
Operator zu verwenden, um dies zu tun:
loadQuickSummary(){
var obj = this.myService.getSummary(this.user.id, this.user.universe).first();
console.log("getting quick summary");
obj.subscribe(r => {
console.log(`first value ${JSON.stringify(r)}`)
})
}
von docs und Stackoverflow zu lesen, das ein Objekt zurückgeben sollte, sondern eine Reihe von INTsummary
‚s ich zurück. Wie kann ich nur das erste Objekt im INTsummary[]
Array zurückgeben?
'Observable.first' gibt Ihnen den ersten Wert des * streams * der Werte, nicht des * array *, das einer dieser Werte ist. Sie müssen das in einer 'Observable.map' machen, wo Sie dieses Array haben ->' this.myService.getSummary (...). Map (arr => arr [0]) ... '. – jonrsharpe