Ich versuche, eine Verknüpfung in Firebase zu erstellen.Flatten Observable <Observable <Object[]>>
So bekomme ich asynchron Array von IDs aus der db, und für jede ID lade ich dann asynchron das eigentliche Objekt. Und die Funktion soll Observable zurückgeben
Also, mit der ersten Async-Anfrage bekomme ich die Observable (String ist die ID). Also, was auch immer ich hier versuchte, ich bekomme entweder Observable oder andere Sachen, die ich nicht bekommen möchte.
Der Code:
getUserFavourites(userId = ""):Observable<any[]> {
return this.af.database.list('/ranks_by_user/likes/'+userId, {
query: {
orderByKey: true,
limitToFirst: 50
}
}).flatMap((likes:any[]) => {
return like.map(like => {
return this.af.database.object("/citations/" + like.$key)
});
});
}
Und der Fehler ist:
Type 'Observable<FirebaseObjectObservable<any>>' is not assignable to type 'Observable<any[]>'.
Können Sie Ihren Code in die Frage aufnehmen? – cartant
Aktualisiert mit dem Code –
Sie müssten den Code für "Citation" einfügen. Ist das eine Schnittstelle oder eine Klasse? Wenn es sich um eine Klasse handelt, müssen Sie zumindest angeben, welche Parameter der Konstruktor verwendet. – cartant