Неверные возвращаемые значения для Firebase Nodejs - PullRequest
0 голосов
/ 24 апреля 2018

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

function Emoji() {

var ref = firebase.database().ref('users').child('9ifrkEw7YjSRGtiaFFHT1rzieDA2');

this.getEmoji = function () {
    ref.once('value').then(function (snapshot) {
        console.log(snapshot.val().emoji); //displays the value from database 
        return  String(snapshot.val().emoji); //displays undefiened
    });
}

}

1 Ответ

0 голосов
/ 24 апреля 2018

Ваш оператор возврата на самом деле просто возвращается из анонимной функции, которую вы передали then().Он не возвращается с this.getEmoji.Когда вы вызываете getEmoji, он сразу же возвращает , и через некоторое время ваш запрос к базе данных сгенерирует результат.Запрос к базе данных асинхронный , поэтому вам, вероятно, следует также сделать getEmoji асинхронным, возвращая обещание, которое разрешается с помощью результата вашего запроса.Вызывающий getEmoji может использовать метод обещания then () для получения результата.

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