我正在使用 Sencha Touch 2.2.1 创建 Sencha Web 应用程序。在我的应用程序中,我有一个屏幕,其中包含一个容器,我在其中添加了多个面板。单个面板由两个面板组成,一个顶部面板和一个内部面板。
在页面初始化时,我调用ajax API来获取容器中每个项目的顶部面板的数据列表。当点击顶部面板时,我会调用该项目的API来获取内部面板的数据。当API调用完成后,我将数据呈现到内部面板并使该面板可见。这段代码对于单击容器中所有项目的顶部面板都是相同的。
还有一个名为“expandAll”的按钮,它将按顺序循环调用所有项目的API,并呈现每个内部面板的数据。首先我调用一个API,然后在获取该API的响应后,我将其存储在存储器中并呈现在屏幕上,然后调用下一个API,像这样为所有项目。
getDetailData:function(params){
var detailStore=Ext.getStore('DetailData');
detailStore.load({
callback:function(data,opt,success) {
detailStore.storeDetailData(data);
_this.onShowDetailData(data);
// now call next api from here until all items data fetched and displayed
}
});
}
在这种情况下,获取所有项目数据并在UI线程上呈现需要更多时间,应用程序会变慢。同时,在渲染数据时,我必须将筛选器应用于存储以在每次呈现数据之前过滤数据。
我想知道应该如何处理和呈现工作。由于ajax api调用和从服务器获取数据所需的时间不多,但是处理和呈现所需的时间较长。
有什么建议吗?
谢谢。