Прямо сейчас у меня есть интервал, который проверяет, меняются ли наблюдаемые изменения каждые 1 секунду. Я знаю, что это не самый эффективный способ, но я не могу понять, как слушать изменение состояния и запускать функцию, когда это происходит, непосредственно в компоненте. Вот мой интервал, который у меня сейчас:Как прослушивать наблюдаемые изменения внутри компонента
UPDATE 1: Я теперь с помощью подписки, но это все еще не работает для меня. Я посылаю объект firebase, наблюдаемый из уже подписанного наблюдаемого. Это где моя проблема?
Сервис
private ReadyObs;
SetRoom(){
this.Room = this.AngularFire.database.object('/Rooms/ABC1');
this.Room.subscribe(snap => {
if(snap.$value !== null){
this.Ready = this.AngularFire.database.object(`/Rooms/${player.room}/Ready`);
}
}
checkReady(){
return this.ReadyObs;
}
Компонент
private ReadyObs=this.main.checkReady();
//Always results with still not ready even though its true
this.ReadyObs.subscribe((result) =>{
if(result === true)
console.log("Ready to use");
else
console.log("Still not ready");
});
Im пытается это, но по какой-то причине это не работает для меня. Я обновлю свой код –