我可能会在此处找到一些非常明显的内容,但我无法让Angularjs服务从Firebase数据存储区返回用户列表。
这不是如何一般性地从ajax调用返回响应的问题,而是关于如何在Angularjs服务中正确使用Firebase的Promise的更多信息
.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 :(得分: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);
});
我认为,你应该让用户重新处理下一个()。