首页 > mongoose中schema的操作回调参数next具体作用是什么?

mongoose中schema的操作回调参数next具体作用是什么?

不懂next的具体用法,进入下一部的概念有点模糊,其中先输出auauau后还是可以输出user。

后一个user是我在加盐回调后输出的user,可以看到第二个next之后的输出password是加盐了的。

我开始以为两个next可以有覆盖关系,不过似乎是以第一个next执行时的this指向对象为准存入数据库

查询了一下数据库,果然是以第一个next时状态为准。

那么我就有不明白的地方了,第二个next()执行是失败还是怎么样?其中next操作到底做了什么?


next 的作用是运行下一个中间件。
因为 js 里很多操作都是异步的,而异步的方式有两种,一种是 callback,一种是 promise。而 mongoose 大多数场景用的都是callback,题主这里也不例外。

下面的说明我没看,只看第一幅图里的代码就有问题。
第一幅图里的代码,next 永远都会被调用两次。
把倒数第三行的 next 删掉。


pre方法其实是定义个钩子,也就是在A和B之间插入一个C,那么执行完C的时候,必须让程序继续执行B,所以使用next。
参考https://github.com/bnoguchi/hooks-js/tree/31ec571cef0332e21121ee7157e0cf9728572cc3

【热门文章】
【热门文章】