2016-11-16 64 views
0

可能有一些非常明顯的我在這裏失蹤,但我無法讓我的Angularjs服務從我的Firebase數據存儲返回用戶列表。Angularjs服務不會從Firebase返回數據

這不是如何一般返回從AJAX調用響應的問題,但更多的關於適當使用如何在Angularjs服務中處理火力地堡的承諾

.service('userService', function() { 
    var data; //initialize data variable 
    this.getUsers = function() { 
     var ref = firebase.database().ref('/users/'); 
     ref.once('value').then(function(snapshot) { 
      users = snapshot.val(); //returns a list of user objects 
     }).then(function(){ 
      data = users //this populates data with all the user objects 
     }, function(error){ 
      alert('error: ' + error); 
     }); 
    } 
    return data; //data is undefined here 

}]); 

我懷疑它做與then()函數,但我一直在這方面我的頭撞了太久 - 任何想法?

回答

0
ref.once('value').then(function(snapshot) { 
      users = snapshot.val(); //returns a list of user objects 
      return users; 
     }).then(function(){ 
      data = users //this populates data with all the user objects 
     }, function(error){ 
      alert('error: ' + error); 
     }); 

我覺得,你應該讓用戶處理下一個然後()。