【发布时间】:2017-04-02 23:09:35
【问题描述】:
我正在使用 Firebase 和 angularJS 来获取用户列表。我可以使用once() 函数从我的数据库中读取所有用户,但我不知道为什么userList 在下面返回未定义
.service('userService', [function() {
this.getUsers = function() {
var users;
var userList;
var ref = firebase.database().ref('/users/');
ref.once('value').then(function(snapshot) {
users = snapshot.val();
for(var key in users) {
users[key].id = key;
// do some other stuff
}
console.log(users); // outputs all users
}).then(function(){
userList = users;
console.log(userList); // outputs all users
},(function(error){
alert('error: ' + error);
});
console.log(userList); // outputs 'undefined'
}
}]);
我等待分配我的userList 变量,直到我处理完users,但没有运气。
这里有一些重要的东西我在 Promises/callbacks 方面遗漏了,我在文档中找不到它;有人可以帮我理解我的问题吗?
【问题讨论】:
标签: javascript angularjs firebase firebase-realtime-database