我使用map和flatMap Rxjs操作符来创建Firebase关系数据库。
我需要以下Firebase列表:
我通过以下方式获取了placeInvited信息:
this.places = this.placesProvider.getMyInvitations()
.map(invitations => {
return invitations.map(invitation => this.devicesProvider.getDevice(invitation.placeInvited))
})
.flatMap(fbojs =>{
return Observable.combineLatest(fbojs)
});
上面的代码运行良好,获取了地点列表!。
{
name:"Gmail place",
owner:asdrvrat5....,
.
.
.
}
但我的问题是我无法再访问邀请列表了:
{
guest:true,
placeInvited:dasdjkd....,
.
.
.
}
我尝试使用合并运算符来解决此问题,我的代码来了:
this.invitations = this.placesProvider.getMyInvitations()
.map((invitations:any) => {
return invitations.map(invitation => {
return merge(
this.devicesProvider.getDevice(invitation.placeInvited),
this.placesProvider.getInvitation(invitation.$key)
);
})
})
.flatMap(fbojs => {
return Observable.combineLatest(fbojs);
})
.do(console.log)
但我失败了。
任何帮助?
感谢。