1

我正在尝试将查询结果保存到变量中,我已经读到您必须使用回调来执行此操作。我在此过程中遇到问题并收到错误消息。

function getQryUser(user) {
  if (user.chkUserStatus) {
    var qryUser = request.query("SELECT someItems on someTbls", function(err, rows, done) {
      if (err) {
        return done(err, null);
      } else {
        return done(null, rows[0]);
      }
    });
  }
}

以及从哪里调用我的函数

var qryUser = getQryUser(user);
4

1 回答 1

0

假设您使用的是node-sqlserverquery()callback 只需要两个参数,error并且results. 这是他们官方单元测试的一个例子:

sql.query(conn_str, "SELECT 1 as X, 'ABC', 0x0123456789abcdef ", function (err, results) {
    assert.ifError(err);

    var buffer = new Buffer('0123456789abcdef', 'hex');
    var expected = [{ 'X': 1, 'Column1': 'ABC', 'Column2': buffer}];

    assert.deepEqual(results, expected, "Results don't match");
    ...

您是否自己查看了单元测试的示例并done()从那里学习?请注意,它来自suite()外部的父范围,因此与一般API 使用query()无关。query()

于 2017-01-24T20:02:49.187 回答