我是第一次使用预保存中间件,有点困惑。
它运行得很好,即使我没有调用 next(),我的保存方法也正在执行
情况1
tourSchema.pre('save', function () {
console.log('first middleware is getting called');
})
但是当我这样做时,在函数参数中声明了 next 但我不调用 next() 它挂在那里并且保存方法没有被执行
案例2
tourSchema.pre('save', function (next) {
console.log('first middleware is getting called');
});
但是一旦我调用 next() 它就会被执行
案例3
tourSchema.pre('save', function (next) {
console.log('first middleware is getting called');
next()
});
所以我只想知道第二种情况有什么问题。在这我只有而且只有这个预中间件。如何在函数参数中定义 next 很重要,save 方法也应该在第二种情况下执行,因为我没有任何第二个 pre 中间件。