Я создаю веб-приложение sencha, используя sencha touch 2.2.1. В моем приложении у меня есть экран, который состоит из контейнера, где я добавил несколько панелей. Одна панель состоит из двух панелей, верхней панели и внутренней панели.
При инициализации страницы я вызываю ajax api для получения списка данных для верхней панели каждого элемента в контейнере. и на верхней панели щелкнули, я вызываю api для этого элемента для извлечения данных для внутренней панели. По завершении api я передаю данные на внутреннюю панель и сделаю панель видимой. Этот код одинаковый для всех элементов в контейнере на верхней панели.
Существует также кнопка вверху, чтобы "expandAll", которая будет вызывать api для всех элементов цикла for один за одним и рендеринг данных для каждой внутренней панели. Сначала я вызываю один 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 и выборка данных с сервера не занимает больше времени, но обработка и рендеринг занимают больше времени.
Любые предложения по этому поводу,
спасибо