从Node.js访问Firebase时的可变范围问题

时间:2017-01-28 15:20:15

标签: javascript node.js heroku firebase firebase-realtime-database

我目前从Node.js访问我的Firebase数据库的代码看起来大致如下。:

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'这个'实现我的目标,但我担心搞乱全局变量,并认为必须有一个更简单的方法?

1 个答案:

答案 0 :(得分:0)

这是一个回调你可以使用一个promise,当它被解析然后你可以使用函数的值或处理回调内的值,否则它的代码执行而不等待