如何知道Parse Cloud Code AfterSave hook后值是否发生了变化?

时间:2017-12-30 15:09:46

标签: javascript parse-server cloud-code before-save after-save

我希望每次我的对象的单个键的值在解析云代码afterSave挂钩中发生更改时发送推送通知。

Parse.Cloud.afterSave("Channel", function(request) {  
    var channel = request.object
    // TODO: check if value of channel key "state" was changed
});

如何检查密钥state的值是否已更新?

这是我可以从request对象获取的所有数据:http://parseplatform.org/Parse-SDK-JS/api/v1.11.0/Parse.Cloud.html#.TriggerRequest

此主题中建议的解决方案感觉不对:Parse Javascript API Cloud Code afterSave with access to beforeSave values

我知道我可以通过beforeSave钩子中的脏方法来做到这一点。然而,这对我不起作用。为什么?如果我向许多用户发送推送通知,则需要一些时间。接收推送通知的客户端开始从服务器请求更新的频道对象。但是,他们可能会收到旧版本的对象,因为只要beforeSave没有完成发送所有推送,通道对象就不会保留在数据库中。

1 个答案:

答案 0 :(得分:3)

您可以使用using namespace std; #include<iostream> class consequtive { public : int *ptr; int size; public : consequtive(int size); void Accept(); }; consequtive::consequtive(int size) { ptr = new int[size]; } void consequtive :: Accept() { cout<<"Enter elements :: "<<endl; for(int i = 0 ; i < size ; i++) { cin>>ptr[i]; } } int main() { int size = 0; cout<<"Enter size ::"; cin>>size; consequtive obj(size); obj.Accept(); } 。例如:

request.original

文档说明了request.original,即:&#34;如果设置,则为当前存储的对象。&#34;不过,我不确定在什么情况下会设置它。在我的用例中,它的工作原理如上面的代码片段所示。