2014-08-30 76 views
1

在我的解析云代码中的某个类的afterSave,我设置适当的ACL,然后再次保存相同的对象。我在afterSave方法中有一个Push通知,但在afterSave中执行save()时,我认为导致通知被推送两次或三次。Parse.com保存在afterSave

我该如何处理这种情况?有没有办法可以保存afterSave不再被调用?思考?非常感谢帮助!谢谢!

回答

1

根据您希望发送PUSH的时间/方式,您可以使用existed()方法来首次检查您的课程的特定实例是否正在保存。这就是我为产生PUSH通知的警报类所做的。你可以简单地做:

if (request.object.existed() === false) { 
    // It's a new object 
} else { 
    // It's an existing object 
} 
+0

谢谢@ mbm29414是的,但我需要发送更新推送通知以及。只有在创建时才需要发送推送通知,而不是在更新时,您的解决方案才能正常工作? – 2014-11-01 23:06:43

+0

@JohnDoe好吧,我的解决方案允许您区分新/更新的项目。我一直在寻找自己,但无法找到任何方式来确定哪些字段在'beforeSave'或'afterSave'中更新过。我所做的区分我正在做的保存的“种类”是添加状态标志字段。这样,你并没有阻止触发器,但你每次都不执行相同的代码。 – mbm29414 2014-11-02 02:49:04

+0

因为我找不到更好的解决方案,所以我认为我会跟着这个下跌的想法走。谢谢! – 2014-11-12 01:25:07