Pesquisa de site

typescript - Firebase e RxJS


Eu fiz uma função que escuta eventos de valor:

getUnreadMessages() : Observable<any>{
    return new Observable(observer =>{
      firebase.database().ref('messages/' + this.userService.getUserID()).on("value", (snapshot : any) =>{

        let count = 0;
        ...some more logic here...

        observer.next(count);
        observer.complete();

      }, (error) =>{
        observer.error(error);
      })
    })
  }

Quando o banco de dados muda, posso ver que essa função é chamada, mas onde eu me inscrevo nela ao longo da aplicação não é disparado. Alguma sugestão?

Resposta #1

Marcar o observável como completo foi a causa do problema.