如何合并两个firebase可观测量?

时间:2018-02-12 10:35:20

标签: angular firebase firebase-realtime-database ionic2

  

我使用map和flatMap Rxjs操作符来创建Firebase关系数据库。

我需要以下Firebase列表:

邀请列表 enter image description here

##### PLACES LIST ##### enter image description here

我通过以下方式获取了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)

但我失败了。

任何帮助?

感谢。

0 个答案:

没有答案