Loopback的操作挂钩与事件有什么区别?

时间:2016-06-01 22:31:12

标签: javascript node.js loopbackjs strongloop

在处理模型生命周期中的某些时间点时,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

1 个答案:

答案 0 :(得分:1)

存在许多差异。这里有几个值得注意的地方:

  1. 操作挂钩可以在特定事件之后或之前调用您的回调。例如,beforeSave / afterSave操作挂钩vs更改后的事件,该事件仅在模型更改后调用回调

  2. 模型的生命周期中有一些事件只有操作挂钩调用,例如只要通过find(),findOne(),count()等加载模型的实例,就会调用加载的操作挂钩。还有一些事件仅仅由模型事件覆盖,例如, dataSourceAttached,在模型附加到数据源时调用。

  3. 所以有一些重叠,但他们可以观看的生命周期事件也存在差异。