我一直在尝试弄清如何从firebase中获取数据并将其存储在变量中。我使用的代码有时可以正常工作,但有时却无法运行。当我关闭并重新打开它时,它通常不会运行代码,直到我注释掉不同的部分并运行它。我需要注释掉的部分似乎每次都在变化,所以我不知道问题出在哪里。
// Function that runs when the sign up submit button is pressed
function signup() {
console.log("signup ran");
firebase.database().ref().once("value", gotData);
}
// Snapshot function
function gotData(data) {
console.log("gotData ran");
dv = data.val()
var tempcodes = dv.verifCodes;
var codes = JSON.stringify(tempcodes);
var codelist = codes.split(",")
console.log(codelist);
var vcode = document.getElementById("verifcode").value;
if (codelist.indexOf(vcode) > -1){
console.log("valid code");
}
}
没有错误消息,并且“ gotData ran”从不打印到控制台,而“ signup ran”则打印。
我真的是Firebase的新手,仍然一开始并不真正了解快照是如何工作的,并且教程对此的解释也并不那么好。欢迎任何帮助/建议!
不过,我想再次提一下,这段代码在实际执行时可以完美地工作,唯一的问题是它没有这样做。谢谢!
编辑:所以,似乎正在发生一些奇怪的事情。我有单独的代码行将不相关的数据添加到Firebase中,但是即使console.log无关,该代码仍然可以运行。看起来代码会影响数据库,但是在程序中什么都不会运行?我真的不知道问题是什么,我仍然迷失了。