【问题标题】:Node.js callback orderingNode.js 回调排序
【发布时间】:2014-12-05 03:40:24
【问题描述】:

我一直在用 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 --&gt; bar

【问题讨论】:

  • 对不起,我不知道你在问什么。您是说要按顺序输出两个console.log() 语句吗?

标签: node.js


【解决方案1】:

您需要将代码包装在asyncpromise 的形式中。

例如:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2015-12-09
    • 2012-02-12
    • 1970-01-01
    相关资源
    最近更新 更多