Loopback 的操作钩子和事件有什么区别?
What's the difference between Loopback's operation hooks vs events?
在处理模型生命周期中的某些时间点时,环回似乎有重叠的概念:
https://docs.strongloop.com/display/public/LB/Operation+hooks
通过Model.observe
应用
对
https://docs.strongloop.com/display/public/LB/Events#Events-Modelevents
通过Model.on
应用
两者处理 CRUD 事件的方式似乎相似。
这两种事件系统有什么区别?我什么时候应该使用一个而不是另一个?
更新:
显然重叠模型事件已在 Loopback v3 中弃用,因此应仅使用操作挂钩:
有很多不同之处。这里有几个值得注意的地方:
操作挂钩可以在某些事件之前或之后调用您的回调。例如,beforeSave/afterSave 操作挂钩与仅在模型更改后调用回调的更改事件
模型的生命周期中有一些事件只有操作挂钩调用,例如每当通过 find()、findOne()、count() 等加载模型实例时,都会调用加载的操作挂钩。还有一些事件仅由模型事件覆盖,例如dataSourceAttached,当模型附加到数据源时调用。
所以有一些重叠,但他们可以观看的生命周期事件也有所不同。
在处理模型生命周期中的某些时间点时,环回似乎有重叠的概念:
https://docs.strongloop.com/display/public/LB/Operation+hooks
通过Model.observe
对
https://docs.strongloop.com/display/public/LB/Events#Events-Modelevents
通过Model.on
两者处理 CRUD 事件的方式似乎相似。
这两种事件系统有什么区别?我什么时候应该使用一个而不是另一个?
更新:
显然重叠模型事件已在 Loopback v3 中弃用,因此应仅使用操作挂钩:
有很多不同之处。这里有几个值得注意的地方:
操作挂钩可以在某些事件之前或之后调用您的回调。例如,beforeSave/afterSave 操作挂钩与仅在模型更改后调用回调的更改事件
模型的生命周期中有一些事件只有操作挂钩调用,例如每当通过 find()、findOne()、count() 等加载模型实例时,都会调用加载的操作挂钩。还有一些事件仅由模型事件覆盖,例如dataSourceAttached,当模型附加到数据源时调用。
所以有一些重叠,但他们可以观看的生命周期事件也有所不同。