我需要一些关于如何重新/编写数据库特定级联代码(回调)的建议,以便我可以有效地将值返回到底层 if/else。
我正在使用restify,数据库库是node-mssql(乏味)。
function authenticate(req, res, next) {
var auth = req.authorization;
var err;
if (auth.scheme !== 'Basic' || ! auth.basic.username || ! auth.basic.password) {
authFail(res);
err = false;
} else {
var sql = "SELECT ..."
var connection = new mssql.Connection(config.mssql, function(err) {
if (err) {console.log(err);}
var request = connection.request();
request.query(sql, function(err, recordset) {
if (err) {console.log(err);}
if (recordset.length === 0) {
authFail(res);
err = false; // <--- I need to be able to return this
} else {
authSuccess();
}
});
});
}
next(err);
}
我已经查看了建议的副本,虽然我认为,我理解这个问题,但我无法找到最干净(老实说)的方法来让它工作。