停止请求每个项目的列表

时间:2014-02-24 16:03:16

标签: list flex

我有一个mx.controls.List由自定义IList实施支持。这包含通过在getItemAt上返回虚拟项目异步获取的数千个项目,向服务器发出包含该数据的页面的请求,然后在响应进入时触发更新事件。

我们遇到的麻烦是用户经常在列表中快速向上和向下滚动,目前List正在请求滚动过去的每个项目。如果页面大小为20,这可能意味着对服务器的最多1000个请求甚至不会被看到。

有没有办法让List在请求项目之前有延迟,所以如果它在几十毫秒后关闭屏幕就不会请求它?

我正在使用Flex 3。

1 个答案:

答案 0 :(得分:0)

我目前的解决方案是让IList实现将未缓存的项添加到固定大小的缓冲区中,该缓冲区在添加第一项后200ms处理,然后将缓冲区中的内容分组到服务器的单个请求中。