Node.js回调排序

时间:2014-12-04 12:18:46

标签: 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(function(){ console.log('b }, 50);

我可以完全排列输出吗?喜欢:foo --> bar

1 个答案:

答案 0 :(得分:0)

您需要以asyncpromise的形式包装代码。

For Instance:

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');
  });

现在这将是顺序的。再说一遍,如果这不是你要问的。我建议请更新您的问题,以便我们更好地了解问题所在,或者至少您的意图是什么。