Angular FirebaseListObservable和flatMap

Angular FirebaseListObservable和flatMap,angular,typescript,firebase,rxjs,observable,Angular,Typescript,Firebase,Rxjs,Observable,我想要一个可观测的,依赖于另一个可观测值的。这很简单,我就是找不到办法 user$:可观察; 播放列表$:FirebaseListObservable; 构造器(db:AngularFireDatabase, 私人afAuth:AngularFireAuth){ this.user$=afAuth.authState; //错误 this.playlists$=this.user$.flatMap(user=>db.list(`/playlists/${user.uid}`)); } 我得到的

我想要一个可观测的,依赖于另一个可观测值的。这很简单,我就是找不到办法

user$:可观察;
播放列表$:FirebaseListObservable;
构造器(db:AngularFireDatabase,
私人afAuth:AngularFireAuth){
this.user$=afAuth.authState;
//错误
this.playlists$=this.user$.flatMap(user=>db.list(`/playlists/${user.uid}`));
}
我得到的错误是:“Observable”不可分配给类型“FirebaseListObservable”。
类型“Observable”中缺少属性“$ref”。

注释
播放列表$:FirebaseListObservable
播放列表$:可观察


这就是
flatMap
返回的内容。如果要将
flatMap
的结果存储在一个变量中,那么这就是您应该具有的类型注释。

注释
播放列表$:FirebaseListObservable
播放列表$:可观察


这就是
flatMap
返回的内容。如果要将
flatMap
的结果存储在变量中,则这是您应该具有的类型注释。

您将
playlists$
键入为
FirebaseListObservable
,但是
flatMap
返回一个
Observable
。是的,因为
db.list
返回一个
FirebaseListObservable
并且我需要一个此对象类型的。您认为我需要订阅
user$
的observable,然后创建
播放列表$
observable吗?(删除平面图)只需将
播放列表$
声明为
可观察
。这就是从
flatMap
返回的结果。。。。或者,如果执行以下操作会发生什么:
this.user$.subscribe(user=>this.playlists$=db.list(
/playlists/${user.uid}
?@developer033不推荐使用这种链接可观察对象的方法。您键入了
playlists$
作为
FirebaseListObservable
,但是
flatMap
返回一个
可观察对象
。是的,因为
db.list
返回一个
FirebaseListObservable
,我需要一个此对象类型。您认为我需要订阅
user$
的observable,然后创建
播放列表$
observable吗?(删除平面图)只需将
播放列表$
声明为
可观察
。这就是从
flatMap
返回的结果。。。。或者,如果执行以下操作会发生什么:
this.user$.subscribe(user=>this.playlists$=db.list(
/playlists/${user.uid}
?@developer033不推荐使用这种链接可观察对象的方法。问题是,FirebaseListObservable包含其他方法,如
推送
,如果我替换为Observable,Typescript会抱怨方法
推送
不存在于可观察类型中。问题是,FirebaseListObservable包含其他方法,如
push
,如果我替换为Observable,Typescript将抱怨方法
push
在Observable类型中不存在