访问firebase snap函数外部的变量

时间:2017-01-09 19:09:28

标签: javascript firebase firebase-realtime-database

messageRef1.on("child_added", function(snap) {
  console.log(snap.val());
  mylat=snap.val();
})

document.write(mylat);

控制台打印出正确的数据,我甚至可以在该函数中使用document.write,但我无法在代码中的任何其他地方使用数据。 我理解这可能是因为firebase异步工作,基本上代码的其余部分都不会等待firebase。我看到了How can i access firebase variable outside firebase function 但我不明白我怎么能在这里简单地实现一些东西。 谢谢

1 个答案:

答案 0 :(得分:0)

我想我找到了解决自己问题的方法。任何需要firebase的函数都可以从内部调用(snap)。所以在这种情况下我可以

    messageRef1.on("child_added", function(snap) {
      console.log(snap.val());
      mylat=snap.val();
      writeIt();//only calls after firebase loads
    })

 function writeIt(){
    document.write(mylat);