我如何等待Angularfire 2中的观察?

时间:2016-08-03 15:14:53

标签: angular firebase observable angularfire2

问题是chat.name首先显示空白,因为映射尚未完成。有没有办法在更新数据之前等待映射?

this.chats = this.af.database.list('/chats/' + this.mainService.getUserId(), {
  query: {
    orderByChild: 'timestamp'
  }
}).map((chats) => {
    return chats.map( chat => {
        chat.name = this.af.database.object(`/users/${chat.uid}`);
        return chat;
    })
});

这是用户界面。

<ul>
    <li *ngFor="let chat of chats | async">
       {{ (chat.name | async)?.name }} : {{  chat.lastMessage }}
    </li>
</ul>

1 个答案:

答案 0 :(得分:1)

请参阅此回答 - Nested Observables in Angular2 using AngularFire2 not rendering in view

但我怀疑你需要将elvis操作符添加到HTML页面

{{ chat?.name }}