0

我有一个从返回一堆 JSON 数据的 web 服务加载数据的表。当用户向下滚动时,我会加载更多数据,因为我正在查询的数据库包含相当多的数据。

我的问题是 - 在这样的表格上实施右侧字母列表是否可行,如何做到这一点?如果我加载所有数据然后在本地对它们进行排序,填充索引并每隔一段时间缓存数据,那绝对是可能的。但是,如果这将是 10K 行或更多数据呢?也许在应用程序首次启动时加载这些数据是一种选择。

那么在性能和可用性方面,是否有人对可以做什么有任何建议?

4

2 回答 2

1

我不认为你应该下载所有数据来制作这些索引,它会减少刷新时间并可能导致内存问题。

但是,如果您认为索引可以产生很大的不同,那么您可以向您的服务器 API 添加一些功能。我会添加一个不同的 API 调用,比如get_indexes. 甚至我会添加一个POST参数get_indexes,该参数将索引数组添加到具有此参数集的任何调用中。

当用户在没有任何下载数据的情况下点击索引时,或者当用户只是强调您的应用程序使索引快速上下滚动时,您应该准备好处理这些情况。

于 2012-10-22T23:34:31.827 回答
1

先看看数据下载量有多大。如果服务器可以 gzip 数据,它可能会非常小 - 由于重复的密钥,JSON 压缩得非常好。

如果它太大,我建议尽可能修改服务器以让您指定起始字母。这样,如果用户点击索引中的“W”,您应该能够请求所有以“W”开头的项目。

从服务器获取总记录数也很有帮助,这样您就可以提前知道表中有多少行。我还将为每个未知行返回一个“正在加载...”字符串,直到实际数据下降。

于 2012-10-22T23:34:40.260 回答