Я создаю список пользователей, используя приведенный ниже код, но я также хотел бы получить доступ к другому списку userStatus
, который показывает статус для каждого пользователя. Как объединить оба?
/**
* @param {string} id
*/
setGuests(id: string): object {
this.guestsRef = this.db.list<any>(`attending/${id}`, ref => ref.orderByChild('first_name'))
return this.guests = this.guestsRef.snapshotChanges()
.map(changes => {
let guests = changes.map(c => ({ key: c.payload.key, ...c.payload.val() }))
return guests
})
}
userStatus
- userKey
-- status: offline or online
Я пытался использовать метод, чтобы получить статус пользователя, но он зависает.
<ng-container *ngFor="let guest of guests | async">
<ion-item class="guest-list"
*ngIf="checkDisabled(guest) && guest.first_name">
<ion-thumbnail (click)="userModal(guest)" item-start>
<img [src]="thumb(guest)">
</ion-thumbnail>
<p (click)="userModal(guest)">
{{(guest)?.first_name}} {{(guest)?.last_name}}
<ion-icon *ngIf="setStatus(guest?.key)" style="color: lightgreen; float: right;"
name="radio-button-on"></ion-icon>
</p>
</ion-item>
</ng-container>
/**
* @param {} uid
*/
setStatus(uid) {
this.statusSub = this.db.object(`userStatus/${uid}/status`)
.valueChanges()
.subscribe(status => {
if (status === 'online') {
return true
}
})
}