2017-09-22 152 views
0

与无限滚动一个博客检测的变化,客户端将查询服务器职位光标基于分页和实时数据进行离线第一应用

例如max_id = 0,min_id = 0。服务器将回答最新的30条记录[id:1000,999,998 etc..,970]

现在从客户下一个请求会问max_id=1000&min_id=970,服务器将有30多个职位回答IDS> 1000或更小的比970 如果没有新的职位,1000,再进行正常的回复会编号970-940 。

这是以无限滚动实现的。而对于离线优先应用程序,所有帖子都保存在客户端,并在下次用户访问时显示。

现在下一次用户打开应用程序,它将显示帖子max_id=1000&min_id=930,并且将获得任何新帖子或获取更多旧帖子,但是**无法检测到其中已有的帖子之一中的更改客户端。 **

say post id = 999已被用户更新。获取此更新的唯一方法是将所有帖子重新查询服务器,就好像没有缓存帖子一样。我觉得这是对乐队的浪费,因为有99%的时间没有更新,所以没有必要这样做。

是否有一种设计模式可以在离线优先应用程序中解决这一问题?

回答

0

让我们假设一个场景:

  1. 用户从服务器上获取的职位
  2. 应用程序缓存获取职位3 -
  3. 用户离开应用程序
  4. 用户背部和应用显示缓存的职位,同时从 加载服务器
  5. 用户在这里对缓存的帖子采取了行动ü 可以检查帖子和如果发生某些变化会返回警告在执行动作之前编辑。