Я пытался выяснить, как получить данные из 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 run" никогда не выводится на консоль, в то время как "signup run" делает.
Я действительно новичок в firebase и до сих пор не совсем понимаю, как работают моментальные снимки, а учебники не очень хорошо объясняют это. Любая помощь / совет приветствуется!
Еще раз, однако, я хотел бы отметить, что этот код работает безупречно, когда он на самом деле выполняется, и единственная проблема заключается в том, что он этого не делает. Спасибо!
РЕДАКТИРОВАТЬ: Итак, что-то странное, кажется, происходит. У меня есть отдельная строка кода, добавляющая в базу данных данные, которые не были актуальны, но этот код по-прежнему работает, даже если console.log этого не делает. Похоже, код повлияет на базу данных, но ничего не запустит в программе? Я действительно не знаю, в чем проблема, и я все еще немного потерян.