【发布时间】:2016-05-26 09:47:24
【问题描述】:
对于慢速后端,我们被要求在可分页表 (DataTable) 上预加载和缓存数据。
这个想法是在 ISortableDataProvider 中维护一个缓存,并向后端请求比我们每页显示的更大的块。这样,用户每次切换到下一个表格页面时都不必等待。
令人不安的部分是获取下一个块应该在后台运行的想法。什么是好方法?
a) 启动一个新的后台线程来获取
b) 触发 Ajax 调用进行后台获取(并存储在缓存中)
我真的不喜欢任何选项,因为我预见到很多问题。
有没有cmets?
【问题讨论】:
-
我过去使用过后台线程。我不知道这是否是一个最喜欢的解决方案,所以我很想听听你的最终结果。在我的例子中,我使用的是带有 ISortableDataProvider 的树,所以它有点不同,因为我不需要知道整个数据集的大小来构建分页导航器。我所做的是将用户需要的初始集立即加载到缓存中,然后使用后台线程加载其余部分。 ISortableDataProvider 将从缓存中请求数据。
标签: asynchronous wicket