nodejs中的多个mysql查询和回调

multiple mysql query and callback in nodejs

我有这样的代码,但回调不起作用。所有查询都有效,console.log 写入行 ID。查询是依赖的

exports.order_taxometr = function (data, client, callback) {
    db.query(sql, function (err, rows) {
      db.query(sql, function (err, rows) {
         db.query(sql, function (err, rows) {
            db.query(sql, function (err, rows) {
                console.log(rows[0].id);
                res[order] = rows;
                res['result'] = "success";
                res['message'] = "ok";
                callback(res);
              })
         })
      })
    })
}

所有查询的结果都在同一个变量中,它们将覆盖最后一个变量

   db.query(sql, function (err, rows1) {
     db.query(sql, function (err, rows2) {
        db.query(sql, function (err, rows3) {
           db.query(sql, function (err, rows4) {
               var result = {};
               var res = {};
               var order = {};
               result["firstROW"] = rows1;
               result["secondROW"] = rows2;
               result["forthROW"] = rows3;
               result["fifthtROW"] = rows4;

              res[order] = result;
              res['result'] = "success";
              res['message'] = "ok";
              callback(res);
             })
         })
        })
      })
   }
db.query(sql, function (err, rows1) {
  db.query(sql, function (err, rows2) {
    db.query(sql, function (err, rows3) {
      db.query(sql, function (err, rows4) {
        var result = {};
        var res = {};
        var order = {};
        result["firstROW"] = rows1;
        result["secondROW"] = rows2;
        result["forthROW"] = rows3;
        result["fifthtROW"] = rows4;
        res[order] = result;
        res['result'] = "success";
        res['message'] = "ok";
        callback(res);
        db.close();
      })
    })
  })
});