gpt4 book ai didi

ios - 检测解析类变化的更好方法?

转载 作者:行者123 更新时间:2023-12-01 18:11:06 25 4
gpt4 key购买 nike

目前我设置了一个计时器,每 2 秒对解析类进行一次查询,以查看是否有任何数据已更改。如果数据已更改,则调用 refreshData方法,因此我的 View 可以使用新的解析数据进行更新。
因此,当解析类中的数据更新时,它几乎会立即在应用程序中更新。

问题是这会导致很多不必要的网络流量,我需要避免。

我该怎么做才能用检测解析类中数据何时更改然后告诉应用程序调用 refreshData 的东西替换计时器方法?

最佳答案

afterSave 触发器

    //this will trigger everytime the className objects has changed
Parse.Cloud.afterSave("className", function(request) {
//Do some stuff here //like calling http request or sending push 'data has changed' to installed mobile device
console.log("Object has been added/updated"+request.object.id);

});

https://parse.com/docs/js/guide#cloud-code-aftersave-triggers

您需要先部署一个云代码,然后它会处理您的问题 :-)

在某些情况下,您可能希望在保存对象后执行一些操作,例如推送。您可以通过使用 afterSave 方法注册处理程序来做到这一点。例如,假设您想要跟踪博客文章的评论数量。您可以通过编写如下函数来做到这一点:
Parse.Cloud.afterSave("Comment", function(request) {
query = new Parse.Query("Post");
query.get(request.object.get("post").id, {
success: function(post) {
post.increment("comments");
post.save();
},
error: function(error) {
console.error("Got an error " + error.code + " : " + error.message);
}
});
});

无论处理程序如何终止,客户端都会在处理程序终止后收到对保存请求的成功响应。例如,即使处理程序抛出异常,客户端也会收到成功的响应。运行处理程序时发生的任何错误都可以在 Cloud Code 日志中找到。

如果您想将 afterSave 用于 Parse JavaScript SDK 中的预定义类(例如 Parse.User),则不应为第一个参数传递字符串。相反,您应该传递类本身。

关于ios - 检测解析类变化的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31257526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com