Siesta-Swift:有没有办法找出Resource.latestData是否发生了变化?



我的代码如下所示:

let myAPI = Service(baseURL: "...")
myAPI.resource("/...").addObserver(owner: self) { resource, event in
}

如果 URL 总是返回 200(不是 301(,有没有办法检查resourceevent数据本身、JSON 内容是否更改或是否相同?

我想实现一种行为,即应用程序在后台进行加载,并且仅在 JSON 本身更改时才触发 UI 操作。

Siesta目前不支持此功能。在一般情况下,它不能自动这样做,因为对于每种类型的资源内容,没有普遍有效的"更改"定义。(即使资源内容是Equatable的,并且恰好符合您想要的"更改"的定义,是否应该在相等的概念中包含一些标头?哪些?

304 是一条很好的明线:服务器,资源真相的仲裁者,声明它在语义上保持不变——所有关于"不变"含义的 API 特定规则都存在于服务器上。

但是,能够自定义这似乎是一件好事。如果您希望看到它得到实施,我建议您提交一个问题。

同时,您可以手动完成:使您的资源有效负载符合Equatable并在资源观察器中检查它。如果您有对性能敏感的更新,则使用此形状的方法有时更有意义,因为您可以检查部分更改(例如,仅更改集合中的某些 elems(。

相关内容

  • 没有找到相关文章

最新更新