0
これは簡単なことかもしれませんが、私はAngularでこの問題に遭遇しました。少し説明が必要です。私がしようとしているのは、スナップショット機能の外で可変の値を得ることだけです。私はこのスナップショット以外の変数firebase Angular
let testVariable : string;
var testCount = firebase.database().ref('users/' + userName + '/userName');
testCount.on('value', function (snapshot) {
testVariable = snapshot.val();
});
alert(testVariable); //comes out undefined
ような何かを行うことができれば、あなたに
これは私がどこかに警告(testVariable)と呼ばれる場合、それは、その後、変数を持つことになりますので、それは未定義のではないでしょうよりも、ということですか?どこに警報を置くことができますか?あなたは私にコールバックを少し説明することができます、私はそれを探してみましたが、私は十分な特定のものを見つけることができません。 –
関数では、testCountを実行します。この関数は実行され(firebaseからの応答を取得)、コールバック関数(スナップショット関数)を起動します。コールバックは、非常に基本的に、次のことを行う前に何か他のことが起こるのを待つようにjsに指示するときです。 alert()関数をtestVariable = snapshot.val()の直下に移動してみてください。 – Notmfb
ここに私の問題があります。 navController.pushを使う必要がありますが、testCountの内部では動作しません(定義されていません)が、その外側で動作します。私はその関数の中に入れることができないことがわかっているコードがたくさんあるので、可能であれば変数値でそれを抜け出す方法が必要です。私はそれを直接下に設定すると、それはtestCountの中にあります –