2015-02-11 22 views
1

问题是,有没有办法显式运行保存/删除等,而不触发建立的钩子?像“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钩。但是我遇到了很多例外的情况,所以我可以在这些Ops的一些环境中构建替代行为。

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

什么是正确的做法来解决建立的挂钩来定义这些行动周围的替代行为?

回答

1

老问题,但我会回答。

+0

Eh。不过谢谢。所以要做到这一点的唯一方法就是直接在beforeSave中寻找一些标志。我希望能够实际上跳过钩子而不是通过,但这个答案是唯一的答案,我会将其标记为已解决。 – jmk2142 2015-03-12 17:06:25

+0

我在找同样的东西,不幸的是,Parse还不够成熟,不能提供跳过的云代码功能,他们的推理会影响安全性 - 可以跳过客户端的验证功能。 – Rohit 2015-03-12 22:16:02

相关问题