2014-02-24 47 views
0

我有一個mx.controls.List支持自定義IList實施。這包含數千個項目,這些項目是通過返回getItemAt上的虛擬項目異步獲取的,向包含該數據的頁面請求發送到服務器,然後在響應進入時觸發更新事件。停止列表請求每個項目

我們遇到了麻煩有用戶經常快速上下滾動列表,並且當前List正在請求滾動過去的每個項目。如果頁面大小爲20,則這可能意味着最多可以向服務器請求1000個數據,這些數據甚至不會被看到。

有沒有辦法讓List在請求項目前有延遲,所以如果數十毫秒後關閉屏幕,它不會請求它嗎?

我使用Flex 3中

+1

您使用項目渲染器?您的虛擬物品可以使用計時器事件來延遲呼叫。但有太多的計時器事件會降低系統的性能。 – Zeus

+1

看看這個http://www.tricedesigns.com/2011/10/26/infinitely-scrolling-lists-in-flex-applications/ – KobbyPemson

回答

0

我目前的解決方案是讓IList執行添加未緩存的項目到一個固定大小的緩衝區,得到處理的200ms添加的第一個項目後,再組什麼是在緩衝區成爲一個單一的請求到服務器。