0
userschema.pre('save',async function(next){
    const user =this;
    
    if(user.isModified('password')){
        user.password=await bcrypt(user.password,8)
    }

    next()
})

我是第一次使用预保存中间件,有点困惑

我看到了中间件的猫鼬指南,但我仍然不明白为什么我们必须在 func 参数中声明下一个并在函数末尾使用它,我认为它确保在保存模型之前执行所有语句但我'不知道谁能给我解释一下

4

1 回答 1

0

next密钥是指将在您之后运行以处理请求的下一个中间件。在函数结束时,调用 next() 将控制权传递给下一个中间件。

像,“嘿,我已经为这个请求完成了我的工作。我把它给你了,做你的工作”:)

于 2021-04-11T07:26:07.500 回答