Javascript Firebase:If语句中的Push项
我试图找出为什么这个函数没有将我的项作为对象推送到if语句中的availableProviders数组中Javascript Firebase:If语句中的Push项,javascript,firebase,Javascript,Firebase,我试图找出为什么这个函数没有将我的项作为对象推送到if语句中的availableProviders数组中 serviceProviders.on('value', function(snapshot) { var availableProviders = []; snapshot.forEach(function(childSnapshot) { var key = childSnapshot.key(); providers.on('value', function
serviceProviders.on('value', function(snapshot) {
var availableProviders = [];
snapshot.forEach(function(childSnapshot) {
var key = childSnapshot.key();
providers.on('value', function(snap) {
if (snap.hasChild(key)) {
var item = snap.child(key);
availableProviders.push(item);
}
});
});
console.log(availableProviders);
});
出于某种原因,我的console.log最后只返回一个空数组
没有推送我的物品的任何原因。感谢您的帮助。提前谢谢 providers是异步的,console.log是sync?…我猜@FrankvanPuffelen可能是重复的,在这种情况下,我是否应该远离$loaded?有没有其他方法来回报承诺?angularjs与Firebase配合得很好,并且有@FPcond的承诺,所以让我正确地说,console.logavailProviders运行得更早,因为它仍在等待我的providers.on加载?