前端怎么处理后端没分类的数据

276 天前
 woxinyongheng

调用了一个第三方接口得到比赛数据,只能传入参数 begindex endindex,如果传入 0,9 意味着获取前十条数据

现在我想添加一个筛选功能,筛选比赛类别,应该怎么处理数据呢?

想到的方法是一次性多拿几条数据,在前端进行分类。

但是如果一次性从第三方接口获取的数据太多,前端就会明显的加载缓慢。

有木有优雅一点的方法?

1260 次点击
所在节点    程序员
12 条回复
hundredFlowers
276 天前
感觉还是要封装吧,你的筛选功能做一个组件,根据数据中的属性做好筛选条件
sgiyy
276 天前
1. 考虑首次加载,可以只请求和展示前 20 条;
2. 然后延迟加载 0-1000 索引的数据,就在这里面进行前端筛选(比赛的时效性还是挺重要的,所以可以考虑最多只查最近一周内的所有数据,最大值 1000 可以自己定,然后筛选时间为一周内的)
USDT
276 天前
😂我感觉最优雅的做法应该是自己写一个很简单的后端,缓存住那边服务器的数据,然后对自己的前端暴露分页接口的时候添加上筛选功能😂😂😂
USDT
276 天前
@USDT 换句话来说,如果数据量不大的话,纯前端做法可以是自己建立一个 In-memory (甚至定期存进 local storage )的缓存,然后每次查询就从自己这个缓存里面查

然后就是缓存的更新机制,其实和“很简单的后端“的更新机制是一样的,比方说轮询(或者什么其他高端的方式
Nich0la5
276 天前
前端加载慢是取数慢还是渲染慢,既然是第三方接口,建议还是自己做一个后端 实现分页功能,前端不应该做过多的数据处理
Track13
276 天前
优雅不了,翻页筛完就多一条数据(甚至翻了几页一条都没有加,怎么优雅)
wpblank
276 天前
写个后端实时把数据读到自己数据库呗,前端查询也不用多次调用三方接口了。
woxinyongheng
276 天前
@sgiyy 感谢!
woxinyongheng
276 天前
@USDT 对的,但是不太会后端和数据库操作(懒狗)
woxinyongheng
276 天前
@sgiyy 有考虑过!但是缓存的数据什么时候更新呢?比如一把游戏可能十分钟二十分钟后就会新增一把,要为了这一把重新加载 1000 条吗?或者说对比一下数据强行 push 。。。
roy20fwmeng
276 天前
@Nich0la5 我们公司的 app 无后端,所有逻辑和数据处理全部在前端完成,接口只做一件事,就是把前端处理完的数据写进数据库。
sgiyy
276 天前
@woxinyongheng #10 设置一个合理的间隔,请求这个时间段内大概的数据量的长度*2 (比如 5 分钟轮询一次,期间大概产生 100 条数据,那就请求 200 条数据),然后插入本地缓存的数据里,重复的要覆盖,本地就维护 1000 条数据左右。

你这个仅前端优化的话,就做不到完美。最完美的可能就是其他人说的,你自己维护一套数据库和后端,把他们的数据都存起来,然后想怎么做都行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/963416

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX