Ihre Frage ist ein wenig unklar daher eine etwas allgemeine Antwort:
Wenn Sie zu einer beobachtbaren abonnieren, die Arrays emittiert dann gibt es nichts anderes, ob man von einer beobachtbaren das Array erhalten oder nicht (zumindest, wenn Sie tatsächlich Ich habs).
die erste Person Um auf die beobachtbaren abonnieren und Zugriff nur das erste Element des Arrays wie
getSomeObservableArrayOfPeople().subscribe(data => this.person = data[0]);
Wenn die beobachtbaren, aber sie nicht eine Reihe von Menschen emittieren eine Folge von Ereignissen von Menschen dann kann Betreiber wie
verwenden
getSomeObservableOfPeople().skip(3).take(1).subscribe(data => this.person = person);
Dies dauert nur die vierte Person und ignoriert alle anderen.
Hinweis: Operatoren wie skip
und take
müssen explizit importiert werden, damit sie verfügbar sind.
Für Observablen, die eine Folge von Person Ereignisse emittieren, wie in dem obigen Beispiel angenommen wird, kann sich diese Sequenz wie unter Verwendung des scan
Operator auf ein Array gesammelt werden:
getSomeObservableOfPeople().scan(3).subscribe(data => {
if(data.length >= 3) {
this.person = data[2];
}
})
Jedes Mal, wenn eine neue Person emittiert wird, die Der Rückruf, der an subscribe übergeben wird, wird mit dem Array aufgerufen, in dem die Personen, die von vorherigen Ereignissen emittiert wurden, mit der Person kombiniert werden, die vom letzten Ereignis ausgegeben wurde.
Nicht sicher, was Sie fragen. Ihr Code zeigt 'Observable', aber Sie fragen nach 'Observable '. Versuchen Sie, eines zu einem anderen zu konvertieren? –
RoninCoder