带前钩的mongoose挽救计划不起作用

我是Nodejs和Mongoose的新手,事情一切正常,直到新版发布的承诺折旧的mongoose。 我看到它build议使用蓝鸟,我正在尝试做。 我有以下代码:

app.post('/users', (req, res) => { var body = _.pick(req.body, ['email', 'password']); var user = new User(body); user.save().then(() => { return user.generateAuthToken(); }).then((token) => { res.header('x-auth', token).send(user); }).catch((e) => { res.status(400).send(e); }) 

});

和前钩:

 UserSchema.pre('save', function (next) { var user = this; if (user.isModified('password')) { bcrypt.genSalt(10, (err, salt) => { bcrypt.hash(user.password, salt, (err, hash) => { user.password = hash; next(); }); }); } else { next(); } 

});

在创build哈希和调用next()没有任何反应,为什么会发生这种情况? 所有的帮助将不胜感激

编辑:调用永远不会进入generateAuthToken()函数

尝试这个

 var mongoose = require('mongoose'); mongoose.Promise = require('bluebird'); 

我原来,我的导入的mongoosevariables是不正确的,我已经解决了这个问题。