【发布时间】:2014-03-27 07:32:30
【问题描述】:
我正在使用以下节点模块来验证我的路由上的客户端请求:https://github.com/tgies/client-certificate-auth
var checkAccess = function(cert) {
return User.findOne({ 'subject': cert.subject.ST }, function (err, user) {
if (!err) {
if (user.active === true) {
return true;
}
else {
return false;
}
}
else {
return console.log(err);
}
});
};
app.post('/test', clientCertificateAuth(checkAccess), function(req, res) {
//...
});
问题是,checkAccess 总是返回:false 我认为这是因为 mongoose 查询是异步的。
有没有办法等待数据库结果?
谢谢
【问题讨论】:
标签: node.js asynchronous mongoose