【发布时间】:2020-08-11 11:03:23
【问题描述】:
我是第一次使用预存中间件,有点困惑。
它运行得非常好,而且我的保存方法正在执行,即使我没有调用 next()
案例一
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 中间件。
【问题讨论】:
标签: node.js mongoose mongoose-schema mongoose-middleware