【问题标题】:NodeJS do stuff after fetching all mySql resultsNodeJS 在获取所有 mySql 结果后做一些事情
【发布时间】:2014-10-09 22:14:45
【问题描述】:

筛选所有row.name结果后如何显示'Finish'

npmSql.query("SELECT name FROM sqlTable", function(err, rows, fields) {
  rows.forEach(function(row) {
    console.log(row.name);
  });
}, function () { console.log('Finish'); });

我试图遵循Node.js - Using the async lib - async.foreach with object 之类的一些答案,但没有运气:(

更新

function abc() {
    npmSql.query("SELECT name FROM sqlTable", function(err, rows, fields) {
      rows.forEach(function(row) {
        console.log(row.name);
      });
    }, function () { console.log('Finish'); });
}

【问题讨论】:

    标签: node.js


    【解决方案1】:

    console.log('Finish') 语句放在forEach 调用之后:

    npmSql.query("SELECT name FROM sqlTable", function(err, rows, fields) {
      rows.forEach(function(row) {
        console.log(row.name);
      });
      console.log('Finish');
    });
    

    您使用的是标准 javascript Array.prototype.forEach,它是同步的。您链接的问题涉及不相关的异步 foreach 函数。

    【讨论】:

    • npmSql.query 被包装在一个函数中。是否可以将 row.name 值返回给该函数?检查我更新的问题
    猜你喜欢
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 2020-03-25
    相关资源
    最近更新 更多