我试图将查询结果保存到变量中,我已经读过你必须使用回调来执行此操作。我遇到此过程有问题并收到错误。
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);
答案 0 :(得分:0)
假设您使用node-sqlserver,query()
回调只需要两个参数error
和results
。以下是他们官方unit tests的一个例子:
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");
...
您是否亲自查看了unit tests的示例并从那里获取了done()
?请注意,它来自suite()
之外的父query()
范围,因此与一般query()
API使用无关。