router.get('/getAllMeals',function(req,res){
var allMeals = [];
allMeals.push("foo");
mealsRef.on("value",function(dataSnapShot){
dataSnapShot.forEach(function(child){
console.log(child.val());
var oneMeal = child.val();
allMeals.push(oneMeal);
});
});
allMeals.forEach(function(obj){
console.log(obj);
});
res.send(allMeals);
}); //RETRIEVE ALL
在上面的代码中,我无法将有效的 JSON 对象 oneMeal 添加到我创建的 allMeals 数组中。 console.log的结果只显示“foo”,并且长度为1。
最佳答案
假设 mealsRef.on("value",function(dataSnapShot){
是一个有效事件;您的 res.send(allMeals);
需要在该回调中调用。基本上您响应得太早了。
关于Javascript列表对象无法添加JSON? Node.JS、Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39605461/