0
Ich mache eine einfache Aufgabe App mit Nodejs. Wenn der Benutzer die Startseite aufruft, sende ich die Aufgaben des Benutzers an das Frontend. Jeder "Benutzer" hat ein Array von Aufgaben-IDs, um herauszufinden, welche Aufgabe ihnen gehört. Ich bekomme immer ein leeres Array, wenn ich versuche, jede Aufgabe auf das lokale Array zu übertragen.So füllen Sie ein Array mit Mungo-Modellen
User.findById(req.session.passport.user, function(err, user){
if(err){
console.log(err);
res.redirect("/login");
} else {
var tasks = new Array(user.tasks.length);
for(var i = 0; i < user.tasks.length; i++){
Task.findById(user.tasks[i] , function(err, task){
if(err){
console.log(err);
}
if(!tasks){
console.log("Couldn't find the task: " + user.tasks[i]);
} else {
console.log("Found task: " + task); //Tasks are always found
tasks.push(task); //<=== Not pushing?
}
});
}
console.log(tasks); // <====this is alwayse EMPTY
res.render("app-mobile", {user: user, tasks: tasks});
}
});
Mögliches Duplikat einfach tun [Wie kann ich die Antwort von einem asynchronen Aufruf zurückkehren?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response Von einem asynchronen Anruf – Mikey