0

我开发了一些带有“桌面”、快捷方式和小部件的应用程序。所以,当我打开我的应用程序时,我有很多 AJAX 请求。

它们相互冻结,Firebug 显示响应时间约为 170-250 毫秒,但在 nginx 日志中,所有响应的时间约为 50-60 毫秒。

我该如何解决?我需要构建一些队列,或者使用 Web Workers 等的一些解决方法吗?

谢谢你。

4

2 回答 2

0

我个人玩过的是,对于初始页面加载,有 1 个 ajax 调用可以完成全部工作,然后在加载时,要么有一个商店工厂,要么找出你加载的数据,然后手动将其发布到店铺。

Ext.onReady(function(){   
    Ext.Ajax.request({
        url: 'page.php',
        params: {
            id: 1
        },
        success: function(response){
            var text = response.responseText;
            var json = Ext.JSON.decode(text);

            var store = Ext.data.StoreManager.lookup('myStore')
            store.add(json.myStore.records);
            // and do for whatever other stores you need to do

        }
    });
})        
于 2012-08-03T15:29:24.427 回答
0

一个简单的解决方法是从低级 Ajax 切换到 Ext.Direct 远程处理。它的优点之一是请求批处理,它是内置的并且是自动的。为什么不使用它?
请参阅文档:http ://docs.sencha.com/ext-js/4-1/#!/guide/direct_grid_pt1

于 2012-08-03T21:38:00.897 回答