假设我有一个端点返回一个10k结果的数组。我希望他们在包含页面的表格中显示。考虑用户体验的最佳方式是什么?在一次来自API的分页结果 - 分页和UX
- 取一切,分页
- 获取该网页的用户正在访问的结果,显示它们并重新获取一切
我知道,第二个选项是比较慢的,但它可以防止取多次。 你会选择哪一个?
PS我知道,在涉及SO法规时,这可能不是一个好问题,但我在现实世界的应用程序中几乎没有经验,并且想知道它是如何完成的。
假设我有一个端点返回一个10k结果的数组。我希望他们在包含页面的表格中显示。考虑用户体验的最佳方式是什么?在一次来自API的分页结果 - 分页和UX
我知道,第二个选项是比较慢的,但它可以防止取多次。 你会选择哪一个?
PS我知道,在涉及SO法规时,这可能不是一个好问题,但我在现实世界的应用程序中几乎没有经验,并且想知道它是如何完成的。
事实上,你是正确的,它不是最好的问题,当涉及到SO注册,但我觉得它是一个有效的。
您应该只加载当时需要的项目,每个请求都会去获取结果。每页25个的例子是:最初你可能会得到0-25的结果,然后当用户点击第2页时,你将获取结果25-50等等......
你不应该一次加载10k结果。您应该只加载一些限制项目(可能是10,20,50 ...等等)。 如果你检查你的API,可能有一个limit
URL参数和一些叫start
?如果是的话,你可以定义你想要的结果以及从哪里开始。因此,您可以将“分页”发送到API,并且只需要从第100位获得50个结果。
是的,在这个端点上有'offset'和'limit'过滤器。每次用户点击页面时,我都会坚持提取。 – Ancinek
10k结果并不代表收集信息所需的实际工作量,也不代表每个结果中的数据量。 现实世界中的任何人都不会将它全部下载到客户端,如果它的工作负载很重要收集页面的信息 - 尝试尽可能使用缓存 –
@DimaVinogradov 10k结果。每一个都是一个简单的对象,具有'id','title','description'。整体响应大小约为900kb。 – Ancinek
那么,一个人会前后翻页1-2页,如果这样不能产生足够的信息 - 过滤器应该被应用 -底线,分页并且每次只检索一页 –