0
私はNodejsを使って簡単なタスクアプリケーションを作っています。ユーザーがホームページに入ると、ユーザーのタスクをフロントエンドに送信します。各「ユーザー」には、どのタスクがタスクであるかを分類するタスクIDの配列があります。各タスクをローカル配列にプッシュしようとすると空の配列が得られます。mongooseモデルで配列を取り込む方法
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});
}
});
可能な重複http://stackoverflow.com/questions/14220321/how-do-i-return-the-response行うことができます-from-an-asynchronous-call) – Mikey