【发布时间】:2017-01-13 21:00:57
【问题描述】:
我正在尝试在 Firebase 中创建一个联接。
所以,我从数据库异步获取 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[]>'.
【问题讨论】:
-
您可以在问题中包含您的代码吗?
-
已更新代码
-
您需要包含
Citation的代码。是接口还是类?如果它是一个类,至少你需要指出构造函数需要哪些参数。 -
这是一门课。但是这里没有任何特定于类的事情。它很容易成为“任何”类型。我只是按原样粘贴代码。已更新。
标签: asynchronous firebase rxjs angularfire2 angular2-observables