以下のコードは、ウォッチャーをusers/
パスに接続し、値が変更されたときにユーザーを記録します。onAuthStateChangedの変更後に再実行されない参照Firebase 3.0.0
firebaseの場合、このusers/
ツリーは、現在認証されているユーザーのアクセス許可に応じてゲートされます。
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
... do other stuff
} else {
// No user is signed in.
... do other stuff
}
});
firebase.database().ref('users').on('value', function(snapshot) {
// log the users
console.log(snapshot.val())
});
問題は、上記のコールバックのように適切な権限を持つユーザーでログインした後、users/
ツリーがログに記録されませんです。
users/
オブザーバをコールバック内のonAuthStateChanged
に移動する以外の解決策がありますか?それはメモリリークの匂いがする。
:
は、この問題を解決するには、ユーザーが認証された後にリスナーを添付する必要があります:あなたも
on()
にエラーコールバックを渡す場合は、これを簡単に見ることができます下に推測される推測を書いてください。しかし、あなたのセキュリティルールを見ていなくても、それはまったく変わったことではありません。 –