Ionic Firebase Promise, call a function every time a Value got changed

Viewed 1389


i want to create a Provider thats the only interface between my App and Firebase.
Im new to promises im sorry if im doing something horrible wrong. What i want to do is call a Function outside my FirebaseProvider every time a certain value changes.

FirebaseProvider:

onUpdateLobby(key){
    return new Promise((resolve,reject)=>{
      firebase.database().ref("/games").child(key).on('value',(snap)=>{
        console.log("update");
        if(snap) resolve(snap.val());
        else reject(Error("onUpdateLobby Error"));
      });
    });
  }


Testpage

this.db.onUpdateLobby('test').then((snap) => {
  console.log(snap);
  // do stuff with the data
}).catch((err) => {
  console.log(err);
});

In my TestPage i would like to Console.Log the whole object every time something got changed, is this even possible? (I want to communicate with Firebase just via my Provider)

My Console after changing the Value 3 times looks like:

  • update (from Provider)
  • asdasdasd (from TestPage)
  • update (from Provider)
  • update (from Provider)
  • update (from Provider)

Thanks!

2 Answers
Related