我看悟空问答在请求更多数据的时候,带了一个时间戳,我估计他们可能是利用这个时间戳来解决这个问题的,但是我不清楚其中具体原理。
最保险的应该是前端每次取全量评论数据,然后遍历之前的评论,如果有顺序有变动,必须修改之前的评论内容。
举例:
第一次加载10条评论,id从1到10。
第二次请求请求后台20数据,遍历之前的10条评论。如果顺序有改变,那么就必须修改成最新的。
前端做这件事情应该是很随意的,vue等框架使用双向绑定就可以完美支持这样的需求。
15 回答8.4k 阅读
4 回答4.4k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
4 回答4k 阅读
1 回答3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
我觉得首先确定的是,评论不能重复、不能丢失。然后说下我的不成熟方案:
小数据量
这样无论用户请求多少页的数据,数据的创建时间永远是发生在自己首次访问之前的。
大数据量:
将评论数据缓存起来,同样是记录第一次请求评论数据的时间 '2020-01-01 10:00:00',去命中缓存数据的时候,找缓存生成时间小于 '2020-01-01 10:00:00' 的。