创建方法的操作钩子或远程钩子

Operation hooks or remote hooks for create method

我有一个简单的问题。为创建方法和 MyModel.observe('before save') 执行 MyModel.beforeRemote('create') 挂钩的主要区别是什么?我已经阅读了文档并且我知道操作挂钩并不绑定到特定方法,而是从执行特定高级操作(例如创建)的所有方法触发。但是在这个特定的示例中,MyModel.beforeRemote('create') 将与我的 MyModel.observe('before save') 一样工作,对吗?或者这将在 api 流程的其他 "state" 上执行?

远程挂机:

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

操作挂钩:

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

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

  • 创建
  • 更新插入
  • findOrCreate
  • 全部更新
  • prototype.save
  • prototype.updateAttributes

请在此处查看 table 以了解将调用每个操作挂钩的所有远程方法:https://docs.strongloop.com/display/APIC/Operation+hooks