Получить значение переменной, javascript firebase - PullRequest
0 голосов
/ 30 августа 2018

У меня есть одна проблема. Я пытаюсь получить значение из одной переменной, но я не могу этого сделать. Если кто-то может помочь, я буду признателен за это. Это мой код.

function getInfo() {
    var ref = firebase.database().ref("db_storage/");
    var info = 0;

    ref.on("value", function(snapshot) {
        info = snapshot.val().length;
    }, function (error) {
        console.log("Error: " + error.code);
    });

    return info;
}

var info = getInfo();
alert(info);

1 Ответ

0 голосов
/ 30 августа 2018

В дополнение к моему комментарию выше.

ref.on("value"...) - это прослушиватель событий, который запускается при отправке события 'value' из базы данных ref. Когда ваш код выполняется, он переходит (грубо говоря) в getInfo(), присоединяет прослушиватель событий, затем переходит к вашей последней строке , не ожидая события 'value' .

Чтобы соединить вещи, передайте функцию обратного вызова следующим образом.

function getInfo(callback) {
    var ref = firebase.database().ref("db_storage/");

    ref.on("value", function(snapshot) {
        var info = snapshot.val().length;
        return callback(info);
    }, function (error) {
        console.log("Error: " + error.code);
        return callback(0);
     });
}

getInfo(function(info) {
    alert(info);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...