【发布时间】:2015-07-11 00:08:52
【问题描述】:
JS 新手,所以我希望我的错误很容易修复。
所以我在users.js 文件中创建了一个函数:
exports.authenticate = function(user){
User.findOne({
'username':user.username,
'password':user.password,
},'username', function (err, dbuser) {
if (err) return handleError(err);
console.log(Boolean(dbuser));
return Boolean(dbuser);
});
}
所以我将我的 dbuser 的值作为布尔值返回:如果他存在,则为 true,否则为 false。很简单不是吗?但是陷阱来了..
var userClass = require('./users.js');
var myUser = userClass.create('xxazeddax','azezaeazeazeaz','mazeazeazezaeaze');
var authent = userClass.authenticate(myUser);
console.log(authent);
这里我期待一个布尔值,因为它是 authenticate() 唯一可以返回的东西。但不是,我没有定义。 请问,我哪里做错了?
【问题讨论】:
-
如果你调试这个,
err在被调用时会提供给你的匿名函数吗? -
你听说过 JS 中的异步方法吗?就是这样。
标签: javascript function mongoose