私のAppとFirebaseの間の唯一のインターフェイスであるプロバイダを作成したいと思っています。
Im新しいことを約束することは間違いです。何をしたいのですか?特定の値が変更されるたびにのFirebaseProvider外にある関数を呼び出してください。
FirebaseProvider:
Ionic Firebase Promise、値が変更されるたびに関数を呼び出す
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);
});
私のTestPageでは、何か変更されるたびにオブジェクト全体がConsole.Logになりたいと思いますが、これは可能ですか? (プロバイダから)
- 更新
- asdasdasd (TestPageから:値3回を変更した後
マイコンソールを(私はちょうど私のプロバイダを経由してFirebaseと通信したいが)のように見えます)
- 更新
- 更新(プロバイダから)
- 更新(プロバイダから)
ありがとう!
?注意すべきことの1つは、約束が観察可能なようには働かないことです。応答を取得するには関数を呼び出す必要があります。 – SimplyComplexable