我有一个mx.controls.List
由自定义IList
实施支持。这包含通过在getItemAt
上返回虚拟项目异步获取的数千个项目,向服务器发出包含该数据的页面的请求,然后在响应进入时触发更新事件。
我们遇到的麻烦是用户经常在列表中快速向上和向下滚动,目前List
正在请求滚动过去的每个项目。如果页面大小为20,这可能意味着对服务器的最多1000个请求甚至不会被看到。
有没有办法让List
在请求项目之前有延迟,所以如果它在几十毫秒后关闭屏幕就不会请求它?
我正在使用Flex 3。
答案 0 :(得分:0)
我目前的解决方案是让IList
实现将未缓存的项添加到固定大小的缓冲区中,该缓冲区在添加第一项后200ms处理,然后将缓冲区中的内容分组到服务器的单个请求中。