1
我有2个挂钩(在不同的文件):在这样一个模型更改钩优先猫鼬
model.pre('save', function(next) {
if (this.isModified('password'))
this.set('password, hash(this.get('password'))
next()
})
model.pre('save', function() {
if (this.isNew)
this.set('password', generatePassword())
next()
})
我的第一钩来自一个模块,它必须是第一,我不能修改它。它会检查密码字段是否已修改,如果是,则进行哈希处理。 我的第二个钩子是由我创建的,我在创建用户时设置了随机生成的密码。
我的问题是,我的第一个钩子不会哈希我的密码,因为它是在第二个之前传递的。我尝试在第二个钩子中调用this.save
,但如果我这样做,则isModified
是错误的。
我不得不将第一个钩子的hash
函数复制到第二个文件中以使其工作,但它远非完美。
所以我想知道是否有办法在猫鼬中以优先级顺序运行钩子? 谢谢。