Как сделать переменные из базы данных Firebase глобальными в JavaScript - PullRequest
0 голосов
/ 27 апреля 2018
    var rootRef = firebase.database().ref().child('Locations');

    rootRef.on("value", function(snapshot) {
             lat = snapshot.child('latitude').val();
             longi = snapshot.child('longitude').val();
             console.log(snapshot.child('latitude').val());
          }, function (error) {
             console.log("Error: " + error.code);
   });

Когда я console.log (lat); лат не определен. Я новичок в JavaScript. Есть ли способ, которым он может быть доступен во всем мире?

1 Ответ

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

Ваш console.log (lat) , который не отображается в вашем фрагменте, находится вне функции обратного вызова и запускается перед обратным вызовом, когда lat по-прежнему не определено. Вам нужно делать все, что вы хотите с ним, внутри обратного вызова, когда он доступен.

Прочтите эту статью, чтобы немного лучше понять функции обратного вызова: https://codeburst.io/javascript-what-the-heck-is-a-callback-aba4da2deced

Надеюсь, это помогло вам!

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