相关疑难解决方法(0)

node.js中的顺序执行

我的代码就像

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); 
  }
});
Run Code Online (Sandbox Code Playgroud)

它不是在node.js中按顺序执行的,所以我在执行结束时得到一个空数组.问题是它将首先执行console.log(tArr);然后执行

common.findOne('tasks',{'taskId':parseInt(tasks[i])},function(err,res){
      tArr[i]  = res;       
      console.log(res);                                         
});                       
Run Code Online (Sandbox Code Playgroud)

我的代码或任何其他方式是否有任何错误.谢谢!

node.js

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

node.js ×1