2016-02-24 3 views
0

Я хочу получить значение вне функции в firebase для использования по всему миру, но оно не работает.Получить значение от firebase

var ref = new Firebase("https://xxxxx.firebaseio.com/users/xxxx/roles/admin/"); // true or false 

    ref.once("value", function(snapshot) { 
    console.log("here"); 
    console.log(snapshot.val()); 
    var isAdmin = snapshot.val(); 
    return isAdmin; 
}); 

console.log(isAdmin); /// cannot get value 
+0

Также смотрите: http://stackoverflow.com/questions/14220321/how-do-i- return-the-response-from-a-асинхронный вызов, который содержит подробное объяснение, почему это не может работать. –

ответ

1

Вы не можете использовать isAdmin снаружи, потому что она не доступна, используйте его в обратном вызове

ref.once("value", function(snapshot) { 
    //You should wrap you code here, to use isAdmin variable 
    //You can do whatever with isAdmin, but you can't return it. 
    //It's callback that running asynchronously 
    console.log(isAdmin) 
}) 
+0

Таким образом, невозможно использовать «isAdmin» глобально или вне функции? Нужно ли мне обертывать остальную часть кода внутри этой функции? – Jason

+0

@ Джейсон, да, вы абсолютно правы – isvforall

 Смежные вопросы

  • Нет связанных вопросов^_^