自己学习模仿某视频站的示例, 课程用的是express, 我想修改成koa2的.遇到了好多坑. 问题如下; //用户注册 exports.signin = async (ctx, next) => { var _user = ctx.request.body.user var name = _user.name var password = _user.password
User.findOne({name: name}, function (err, user) {
if (err) {
console.log(err)
}
if (!user) {
console.log('用户不存在')
ctx.redirect('/admin/list');
}
user.comparePassword(password, user.password, function (err, ismatch) {
if (err) {
console.log(err)
}
if (ismatch) {
console.log('password is matched')
ctx.redirect('/admin/list');
} else {
console.log('password is not matched')
}
})
})
} // user.comparePassword 自定义的实例方法 UserSchema.methods = { comparePassword: function (_password, hash, cb) {
bcrypt.compare(_password, hash, function (err, ismatch) {
if (err) {
return cb(err)
}
cb(null, ismatch)
})
}
} 代码运行到 if (ismatch) { console.log(‘password is matched’) ctx.redirect(’/admin/list’); } 就会报错, xxxxxx 求达人告知正确的姿势…这个问题困扰我很久,求助,在线等