Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js回调顺序_Node.js - Fatal编程技术网

Node.js回调顺序

Node.js回调顺序,node.js,Node.js,我一直在Node.js中编写代码: var sql = ' SELECT 1 AS re'; for(var i=0;i<10;i++){ connection.query(sql,function(err,rows){ if(err){connection.rollback(function (e) {throw err;});} else{ console.log('foo'); } }); } setTimeout(

我一直在Node.js中编写代码:

var sql = ' SELECT 1 AS re';
for(var i=0;i<10;i++){
    connection.query(sql,function(err,rows){
      if(err){connection.rollback(function (e) {throw err;});}
      else{
        console.log('foo');
      }
   }); 
}
setTimeout(function(){ console.log('b }, 50);
var sql='选择1作为re';

对于(var i=0;i,您需要以
async
promise
的形式包装代码

例如:

var sql = 'SELECT 1 AS re';

var count = 0;
async.whilst(
  function() {
    return count < 10;
  },
  function(done) {
    count++;
    connection.query(sql, function(err, rows) {
      if(err) 
        connection.rollback(function(e) { done(); });
      else {
        console.log('foo');
      done();
      }
    });
  },
  function(err) {
    console.log('bar');
  });
var sql='选择1作为re';
var计数=0;
异步的(
函数(){
返回计数<10;
},
功能(完成){
计数++;
查询(sql,函数(err,行){
如果(错误)
rollback(函数(e){done();});
否则{
console.log('foo');
完成();
}
});
},
功能(err){
console.log('bar');
});

现在,这将是连续的。再次,如果这不是您要问的问题。我建议您更新您的问题,以便我们更好地了解问题所在,或者至少了解您的意图。

对不起,但我不知道您要问什么。您是说您想要这两个
控制台。log()
要按顺序输出的语句?