Loopback的操作钩与事件有什么区别?
在处理模型生命周期中的某些时间点时,Loopback似乎具有重叠的概念:
https://docs.strongloop.com/display/public/LB/Operation+hooks
通过Model.observe
应用
VS
https://docs.strongloop.com/display/public/LB/Events#Events-Modelevents
通过Model.on
应用
两者似乎都有类似的处理CRUD事件的方式。
这两种事件系统有什么区别? 我应该什么时候使用一个?
更新 :
显然重叠的模型事件已经在Loopback v3中被弃用,所以只能使用操作钩子:
https://github.com/strongloop/loopback-datasource-juggler/blob/master/3.0-RELEASE-NOTES.md#remove-deprecated-model-hooks-and-model-events
有一些差异。 这里只是一个值得注意的事情:
-
操作挂钩可以在某些事件之后或之前调用您的callback。 例如,beforeSave / afterSave操作挂钩vs仅在模型更改后调用callback的已更改事件
-
模型生命周期中只有一些事件只有操作钩子才会调用,例如,只要通过find(),findOne(),count()等来加载模型的实例,就会调用加载的操作钩子。由模型事件覆盖,例如dataSourceAttached,当模型附加到数据源时调用。
所以有一些重叠,但是他们可以观看的生命周期事件也有所不同。
- Node.js和Multer – 在callback函数(req,res)中处理上传文件的目的地
- 如何在节点中使用spec – grunt + karma + jasmine
- Node.js和Express中应该在哪里find一个数据库configuration文件?
- Javascript的performance.now()和Nodejs
- {errorCode:'INVALID_REQUEST_BODY',当试图发送信封
- body + = chunk会在每次块到达时重新分配整个响应string?
- 我如何添加dynamic包装任何函数调用的JS代码?
- 无法在Nodejs中执行fileupload程序
- Swagger参数多态性