如何将 Firebase 实时数据库中的属性值存储到 Javascript 中的变量中

问题描述 投票:0回答:1

我创建了一个网站,我使用 Js 将其连接到 firebase。 我想在函数范围之外访问“正确”的数组,即我想让它可以全局访问。

var mcqq = firebase.database().ref("mcq_choice/");
mcqq.orderByChild("mcq_choice").on("value", function (data) {
  data.forEach(function (data) {
    correct_option = data.val().correct)
  });
});

console.log(correct_option)

在函数外部调用时,console.log( Correct_option) 显示未定义的错误。

javascript firebase-realtime-database
1个回答
1
投票

变量

correct_option
是在函数内部定义的,这就是为什么
console.log(correct_option)
在那里工作,但在外面不起作用。该变量是定义范围的,因此在函数外部无法识别它。

您应该在函数外部定义变量,最好在

之前编写
let correct_option;

var mcqq = firebase.database().ref("mcq_choice/");
mcqq.orderByChild("mcq_choice").on("value", function (data) {
  data.forEach(function (data) {
    correct_option = data.val().correct;
    // console.log(correct_option)

  });
});

这样就可以在函数外部访问变量。

有关 JavaScript 中 scope 的更多信息,您可以查看以下内容:scope in javascript

© www.soinside.com 2019 - 2024. All rights reserved.