【发布时间】:2018-08-11 10:01:55
【问题描述】:
我想单独保留一些猫鼬函数以获得更整洁的代码,我想处理承诺,下面是一个插图。
Model.js 文件
var User = module.exports = mongoose.model('User', UserSchema);
module.exports.createUser = function(newUser, callback){
bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash(newUser.password, salt, function(err, hash) {
newUser.password = hash;
newUser.save(callback);
});
});
}
这里createUser是自定义函数,我的route.js如下,
router.post('/register', function(req, res){
var newUser = new User({
email: req.body.email,
password: req.body.password
});
User.createUser(newUser)
.then(function(user){
console.log(user)
res.redirect('/users/login');
})
.catch(function(err){
console.log(err)
})
})
使用 promises 这会显示“.then undefined”和“.save() 不是函数”的错误
请纠正我,提前谢谢。
【问题讨论】:
标签: javascript node.js mongodb mongoose