Ich habe den folgenden Code, die für jedes Element Schlüssel eine beobachtbare mit den Artikeldetails zurück:ein Array/Objekt zurück, statt eines beobachtbaren mit RXJS Karte
this.list = this.af.database.list("API_URL")
.map((ItemKeys) => {
return ItemKeys.map((ItemKey) => {
return this.af.database.object(API_URL + "/" + ItemKey); //I need this as the object (not observable)
});
}).subscribe((items) => {
this.lineData = items; //A list of observables
});
Der Code jedes Element Schlüssel itereates über und wird die Artikeldaten von einem anderen Endpunkt. Das Problem ist, dass es eine beobachtbare Objektdaten zurückholt, und ich brauche es in einem Objekt (das beobachtbare Ergebnis).
Ich habe versucht, das Abonnement Ergebnis mit dem folgenden Code zurück, aber dann alle meine Artikel Daten sind leer (undefined):
this.list = this.af.database.list("API_URL")
.map((ItemKeys) => {
return orderItemKeys.map((ItemKey) => {
this.af.database.object("API_URL" + "/ItemKey.$key) // So I tried to subscribe to this..
.subscribe((data) => {
return data;
});
});
}).subscribe((items) => {
this.lineData = items; // A list with undefined items
});
Wie ich das Element Datenobjekt als Objekt zurückgeben kann und nicht als beobachtbare von einem Objekt in meinem Fall?
Entschuldigung, diese Antwort hat keine Ahnung, wie ich 'flatMap' in meinem Fall verwenden kann, wo und wie. Ich habe versucht, meine erste '.map' zu' .flatMap' zu ändern, aber es hat es nicht gemacht. – TheUnreal
@TheUnreal, tut mir leid mein schlechtes. War nicht zu nachdenklich. Schau, ob das hilft oder nicht. –