用条件均衡beforeCreated钩子

时间:2019-05-30 03:34:42

标签: javascript sequelize.js

在我的用户模型中,我定义了一个生命周期挂钩,用于使用bycrypt加密密码。

beforeCreate: function(acc, next) {
        const salt = bcrypt.genSaltSync(10);
        const hash = bcrypt.hashSync(acc.password, salt);
        acc.password = hash;
      }
    }

这很好用。但是现在我实现了Oauth google登录到该项目。在那种情况下,我想绕过这个钩子。

If(acc.password){
encrypt
}else{
skip
}

我尝试过

hooks: {
      beforeCreate: function(acc, next) {

    if(acc.password){
        const salt = bcrypt.genSaltSync(10);
            const hash = bcrypt.hashSync(acc.password, salt);
            acc.password = hash;
    }else{
        return next
    }
      }
    }

但这似乎行不通。 当req.body不提供password属性时,如何跳过该钩子。

任何帮助 谢谢先进!。

1 个答案:

答案 0 :(得分:0)

您需要像下面这样的方法来调用next:next()