Firebaseで結合を作成しようとしています。Flatten Observable <Observable <Object[]>>
私はdbからidの配列を非同期的に取得し、idごとに非同期に実際のオブジェクトをロードします。関数はObservableを返します。
したがって、最初の非同期要求でObservable(文字列はIDです)が取得されます。 私がここで試したものは、Observableや他のものを手に入れています。
コード:
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)
});
});
}
し、エラーがある:
Type 'Observable<FirebaseObjectObservable<any>>' is not assignable to type 'Observable<any[]>'.
問題にコードを含めることはできますか?
map
演算子 – cartantコード –
で更新されました。「引用」のコードを含める必要があります。インターフェイスかクラスですか?クラスの場合は、コンストラクタがどのようなパラメータを取るかを指定する必要があります。 – cartant