大佬教程收集整理的这篇文章主要介绍了node.js – bcrypt-node抛出错误“没有给出回调函数”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
useraModel.js
var mongoose =require('mongoose'); var scheR_764_11845@a =mongoose.scheR_764_11845@a; var bcrypt =require('bcrypt-node'); var UserscheR_764_11845@a=new scheR_764_11845@a({ name:{type@R_450_7101@g,unique:true,required:truE},password:{type@R_450_7101@g,required:truE} }); UserscheR_764_11845@a.pre('save',function (next) { var user = this; if (this.isModified('password') || this.isNew) { bcrypt.genSalt(10,function (err,salt) { if (err) { return next(err); } bcrypt.hash(user.password,salt,hash) { if (err) { return next(err); } user.password = hash; next(); }); }); } else { return next(); } }); UserscheR_764_11845@a.methods.comparepassword = function (passw,cb) { bcrypt.compare(passw,this.password,ismatch) { if (err) { return cb(err); } cb(null,ismatch); }); }; module.exports = mongoose.model('User',UserscheR_764_11845@a);
passport.js
var JwtStrategy =require('passport-jwt').Strategy; var User =require('../app/models/user'); var config =require('../config/database'); module.exports=function(passport){ var opts = {}; opts.secretOrKey = config.secret; passport.use(new JwtStrategy(opts,function(jwt_payload,donE) { User.findOne({id: jwt_payload.iD},function(err,user) { if (err) { return done(err,falsE); } if (user) { done(null,user); } else { done(null,falsE); } }); })); };
app.js
apiRoutes.post('/signup',function(req,res) { if (!req.body.name || !req.body.password) { res.json({success: false,msg: 'Please pass name and password.'}); } else { var newUser = new User({ name: req.body.name,password: req.body.password }); // save the user newUser.save(function(err) { if (err) { return res.json({success: false,msg: 'Username already exists.'}); } res.json({success: true,msg: 'successful created new user.'}); }); } });
throw "No callBACk function was given". No CallBACk function was given
请帮我修复此代码.
谢谢
bcrypt.hash()
需要4个参数:
hash(data,progress,cb)
文档对此不清楚:它声明数据,salt和cb是必需的,这意味着进展不是,但没有它你就会得到错误.
如果您不关心跟踪进度,请传递null:
bcrypt.hash(user.password,null,hash) { ... })
以上是大佬教程为你收集整理的node.js – bcrypt-node抛出错误“没有给出回调函数”全部内容,希望文章能够帮你解决node.js – bcrypt-node抛出错误“没有给出回调函数”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。