Снимок базы данных Firebase в реальном времени не запущен? - PullRequest
0 голосов
/ 04 июня 2019

Я пытался выяснить, как получить данные из 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 этого не делает. Похоже, код повлияет на базу данных, но ничего не запустит в программе? Я действительно не знаю, в чем проблема, и я все еще немного потерян.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...