用于create方法的操作挂钩或远程挂钩

时间:2016-04-28 11:28:44

标签: loopbackjs strongloop

我有一个简单的问题。对于创建方法和MyModel.beforeRemote('create')执行MyModel.observe('before save')挂钩的主要区别是什么。我已经阅读过文档,我知道操作挂钩并不依赖于特定的方法,而是从执行特定高级操作的所有方法(例如create)触发。但在这个特定示例中,MyModel.beforeRemote('create')的工作方式与我MyModel.observe('before save')的工作方式相同,对吧?或者这将在api流的其他“状态”上执行?

远程钩子:

MyModel.beforeRemote('create', (ctx, next) => {
  console.log("beforeRemote");
  next();
}

操作钩子:

MyModel.observe('before save', (ctx, next) => {
  console.log("before save");
  next();
}

1 个答案:

答案 0 :(得分:4)

MyModel.beforeRemote('create')只会针对'create'远程方法调用,但会为以下任何一种方法调用MyModel.observe('before save')

  • 创建
  • UPSERT
  • findOrCreate
  • updateAll
  • prototype.save
  • prototype.updateAttributes

请参阅此处的表,了解将调用每个操作挂钩的所有远程方法:https://docs.strongloop.com/display/APIC/Operation+hooks