What's wrong in my code, I want to do a ngFor of a variable where by means of a push the variable is added to be later observable by the asyn and wait function of addToArray ()
this.data = this.AuthService.getData()
getData() {
return new Observable((observer) => {
this.afAuth.auth.onAuthStateChanged(user => {
if (user) {
this.db.database.ref("/events/5b/LaLhspwsy6cc0BM5ooFrbrF5F6j2/participants").on("value", snap => {
this.data = [];
this.addToArray(snap).then(result => {
alert("then")
observer.next(this.data)
observer.complete()
})
})
}
});
})
}
async addToArray(snap) {
await snap.forEach(element => {
this.db.database.ref('/users/${element.key}/contact').on("value", snapshot => {
this.data.push(snapshot.val())
alert("foreach")
})
})
return true;
}
<ng-container *ngFor="let participant of data | async | keys">
</ng-container>