Store.load方法在extjs时间复杂度

时间:2014-02-08 16:26:48

标签: javascript html extjs extjs4

我在EXTJS中有一个功能,我从控制器获取存储然后加载它。

functionName: function (controller) {   
    return function() {

        Ext.widget('callWindow');
        var variable= cotroller.getCallWindowPopup();
        controller.getAccountsStore().load({
            params: {
                source_system_id: ssid
            },
            callback: function (records) {
                variable.loadRecord(records[0]);
            }
        });
    }

}

帐户商店是一个json商店,可能有几千条记录。 哪个操作在这里很贵? getAccountsStore或load方法。如果负载很昂贵,我怎么能避免多次调用呢?

1 个答案:

答案 0 :(得分:1)

getAccountsStore是对集合中引用的查找,立即查找。 load当然很贵。它加载商店中的所有数据,将每个记录实例化为模型对象。

通常情况下,您不需要多次拨打load,除非您的数据发生变化,并且您想要刷新。

如果您使用分页存储,则可以减少加载时间。这只会将一页数据加载到商店中。在您的情况下,这可能是可接受的,也可能是不可接受的。