Ударная база Firebase: отображает попадания, но не увеличивается - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь создать счетчик посещений, который отображается в консоли моей страницы.Вот соответствующий код:

    var database = firebase.database();



   database.ref().on("value", function(snapshot) {

      console.log("Logging snapshot.val " + snapshot.val());

      console.log("Logging hits " + snapshot.val().hits);

      var hitCounter = snapshot.val().hits;

      console.log("hitCounter is " + hitCounter)
    }, function(errorObject) {

      console.log("The read failed: " + errorObject.code);
    });

//so I can get it to display the value in the database, but not to increase.  WTF
  function showStuff() {
    $("#content").fadeIn("slow");

      hitCounter++;
      console.log("hitCounter in showstuff() function is = " + hitCounter);
      //this console log above doesn't even fire.  WTF!?
      //Ask on stack overflow some other time

      database.ref().set({
        hits: hitCounter
      });


}

Как показывают комментарии, я могу получить номер в базе данных для отображения, но не для увеличения.Даже console.log в showStuff () не срабатывает (но затухает).Что происходит?

1 Ответ

0 голосов
/ 12 декабря 2018

вы используете обратный вызов события, который будет передаваться снимком каждый раз, когда данные изменяются.Если вам нужно показать это значение с помощью функции showStuff, вы должны вызвать ее в функции обратного вызова

 database.ref().on("value", function(snapshot) {
  console.log("Logging snapshot.val " + snapshot.val());
  console.log("Logging hits " + snapshot.val().hits);

  var hitCounter = snapshot.val().hits;
  console.log("hitCounter is " + hitCounter);


  showStuff();

}, function(errorObject) {

  console.log("The read failed: " + errorObject.code);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...