角度2火倍数可观察到的承诺

时间:2017-03-12 14:59:09

标签: javascript firebase firebase-realtime-database rxjs angularfire2

我有这个功能来获取Firebase中用户房间的信息,我第一次请求users-chats/user聊天ID的引用,这个结果我做了一个combineLatest来获取特定房间的成员..和在此之前,我想要求成员信息(来自MongoDB),这是我的问题。我可以返回成员ID的引用并在模板中显示Async Pipe ..但是当我尝试获取成员信息时,ngFor不会显示任何内容

我需要实时查看任何房间的用户聊天和会员,但我只想要一次这样的会员信息

public getRoomsByUser(userID: string): Observable<any> {
    return this.af.database.object(`users-chats/${userID}`).mergeMap(rooms => {
        rooms = Object.keys(rooms).map(key => rooms[key]);
        if (rooms)
            return Observable.combineLatest(
                rooms.map(room => this.af.database.object(`members/${room}`)),
                (...members) => {
                    return rooms.map((room, index) => {
                        //I want to make http request here with the members, to get the data of every member
                        return { id: room, members: members[index] }
                    })
                })
        else
            return Observable.empty()

    })

}

Inside the members have the Reference ID of the chat.. and inside that is the reference id in mongo of user

会员内部有聊天的参考ID ..在里面是用户的mongo中的参考ID

0 个答案:

没有答案