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);
需要在回调中被调用。
只需将res.send移动到datasnapshot之后。