Это происходит потому, что запросы к базе данных Firebase асинхронны: ваш console.log()
выполняет до , возвращается функция обратного вызова, возвращаемая методом on()
.
Будет работать следующее:
ref.on('value',function(snap){
//console.log(snap.val());
firebaseMsg=snap.val();
console.log(firebaseMsg);
});
, как вы, вероятно, заметили, поскольку есть закомментированная строка console.log(snap.val());
.
Это означает, что, например, вы можете только обновить пользовательский интерфейс приложения (чтобы отразитьизменение в базе данных) из функции обратного вызова.