javascript - 在分页查询的情况下,前端或者移动如何处理后端数据的实时更新。

查看:94
本文介绍了javascript - 在分页查询的情况下,前端或者移动如何处理后端数据的实时更新。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

类似于Twitter的这种网站的在浏览的过程中原来的数据已经增加了,如果是采取分页的方式获取数据,这里的数据源已经发生改变了,直接获取的方式应该数据获取重复的,但是并没有发生发生错误的。请问这样的后端api应该如何设计。比如segmentfault的分页,segmentfault如何分页如果有人回到了问题会直接排到前面,这个时候如果Android去获取第二页的数据这个时候和原来的数据已经不一样了,如何避免数据重复或者的缺失的问题。后端应该如何处理,移动端是否应该也做出过滤等处理。我并不做过这样的项目,所以可能思考的有问题。

解决方案

我知道的有两种方案处理分页数据更新的问题

一般业务数据,论坛数据都采用这种方法

第一种方案

根据当前数据库中的数据,按一定规则排序(比如最后更新),按所需要的页面获取数据。这种方法不会去关注后台数据位置的变化,所以比较极端的情况下可能会出现你翻第二页却发现看到的内容没变,因为这段时间正好新增了页数这么多条数据……

第二种方案

获取数据的时候记录一个时间戳,每次取数据都把这个时间戳传到后台。后台按这个时间戳作为截止时间获取分页数据,返回出来。但是因为需要通知前端有新数据,所以还要按这个时间戳检索新数据条数,一并返回。前端按后端返回的数据展示,同时检查如果有新数据的话,进行提醒。

这种方法不太适用于按数据更新排序的情况,适用于按新增时间排序的情况。一般订阅数据,或者几乎不改动的数据可以采用这种方法。

这篇关于javascript - 在分页查询的情况下,前端或者移动如何处理后端数据的实时更新。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆