2017-01-28 5 views
0

からFirebaseにアクセスする際のNode.jsから私のFirebase databseにアクセスするための私の現在のコードは、おおよそ次のようになります。:変数のスコープの問題Node.jsの

var DesiredValue = "#"; 
ref.child("Example").once("value", function(snapshot) { 
    DesiredValue = snapshot.val(); 
    console.log(DesiredValue) 
}); 
console.log(DesiredValue) 

それは42がある

>42 
># 

を返します。値を取得したいのですが、ref.childの範囲外で取得する方法を見つけることはできません。私は動作しない以下を試しました。

var DesiredValue = ref.child("Example").once("value", function(snapshot) { 
    var DesiredValue = snapshot.val(); 
    console.log(DesiredValue) 
    return DesiredValue 
}); 
console.log(DesiredValue) 

私がやりたいことのすべては、コードの残りの部分に42を使用しています。私が読んだことに基づいて、私の目標を達成するためにJavaScriptの「これ」を使用する方法があるかもしれませんが、私はグローバル変数を混乱させることを心配しています。

+0

を待たずに実行されますそれ以外のコードを使用することができ、コールバックですある実行の流れで、あるいはいつか後でまたですか? issueは一度のコールバックの前にconsole.logの外部に呼び出されますが、最初にコンソールに#を印刷してから42 –

答えて

0

それはあなたがこの値を使用したいの約束、それが解決されたとき、あなたは機能のうちの値を使用するか、コールバック内の値を扱うことができ、それは