【发布时间】:2014-06-17 04:08:40
【问题描述】:
我有类似的代码
common.findOne('list', {'listId': parseInt(request.params. istId)}, function(err, result){
if(err) {
console.log(err);
}
else {
var tArr = new Array();
if(result.tasks) {
var tasks = result.tasks;
for(var i in tasks) {
console.log(tasks[i]);
common.findOne('tasks', {'taskId':parseInt(tasks[i])}, function(err,res){
tArr[i] = res;
console.log(res);
});
}
console.log(tArr);
}
return response.send(result);
}
});
它不是在 node.js 中按顺序执行的,所以我在执行结束时得到一个空数组。问题是它会先执行console.log(tArr);,然后再执行
common.findOne('tasks',{'taskId':parseInt(tasks[i])},function(err,res){
tArr[i] = res;
console.log(res);
});
我的代码或任何其他方式是否有任何错误。 谢谢!
【问题讨论】:
标签: node.js