在某些情况下有没有办法跳过 before/after save/delete 挂钩?

Is there a way to skip a before/after save/delete hook in certain cases?

问题是,有没有办法显式运行 a save/delete等而不触发已建立的钩子?像 "skipHook" 选项之类的。示例:

// HOOK: beforeDelete

Parse.Cloud.beforeDelete('Thing', function(request, response){ // STUFF // });



// FUNCTION: some other cloud function that will run an alternate delete behavior

Parse.Cloud.define('AltBeforeDeleteThing', function(request, response){
  var id = request.params.id;
  var thing = new Thing();
      thing.id = id;

  thing.destroy().then(function(){ // STUFF // });
  // Is there a way to skip the beforeDelete hook?

}

云函数中的destroy()会触发beforeDelete钩子。但是我已经 运行 遇到了这样的情况,如果有异常会很好,这样我就可以围绕其中一些操作构建替代行为。

我能想到的唯一方法是在 beforeDelete 挂钩中创建一个 if (!master) 子句,并在任何时候我想跳过该代码时使用 master。但这感觉就像我在作弊,这会让我陷入困境,无法逃脱。

绕过已建立的钩子来定义围绕这些 Ops 的替代行为的正确做法是什么?

老问题,但我会回答。