Extjs4 ExtJS回调函数示例

Extjs4 ExtJS回调函数示例,extjs4,Extjs4,我是ExtJs的新手,正在努力弄清楚如何在ExtJs中使用回调函数。我使用的ExtJs版本是4.2.1 基本上,我想将两个功能的执行链接起来: func1:函数(){ } func2:函数(){ } 因此,func2()仅在func1()完成后才开始执行 从我到目前为止所读到的,我需要使用回调函数,但就我的一生而言,我无法得到它 这是我的密码: filter: function (filters, value) { if (Ext.isString(filters)) {

我是ExtJs的新手,正在努力弄清楚如何在ExtJs中使用回调函数。我使用的ExtJs版本是4.2.1 基本上,我想将两个功能的执行链接起来:

func1:函数(){ }

func2:函数(){ }

因此,func2()仅在func1()完成后才开始执行

从我到目前为止所读到的,我需要使用回调函数,但就我的一生而言,我无法得到它

这是我的密码:

filter: function (filters, value) {

    if (Ext.isString(filters)) {
        filters = {
            property: filters,
            value: value
        };
    }

    var me = this,
        decoded = me.decodeFilters(filters),
        i = 0,
        length = decoded.length;

    for (; i < length; i++) {
        me.filters.replace(decoded[i]);
    }

    Ext.Array.each(me.filters.items, function (filter) {
        Ext.Object.each(me.tree.nodeHash, function (key, node) {
            if (filter.filterFn) {
                if (!filter.filterFn(node)) node.remove();
            } else {
                if (node.data[filter.property] != filter.value) node.remove();
            }
        });
    });
    me.hasFilter = true;

    console.log(me);
},

clearFilter: function() {
    var me = this;
    me.filters.clear();
    me.hasFilter = false;
    me.load();
},

isFiltered: function() {
    return this.hasFilter;
},


filterNavAdminSTByUserName: function (nameValue) {

    this.clearFilter();

    this.filter([{
        property: 'userName',
        value: nameValue
    }]);

}
filter:函数(filters,value){
if(外部isString(过滤器)){
过滤器={
属性:过滤器,
价值:价值
};
}
var me=这个,
解码=me.decodeFilters(过滤器),
i=0,
长度=解码的长度;
对于(;i
我的问题是,这个.filter()在这个.clearFilter()之前执行;如何强制该.filter()仅在该.clearFilter()完成后执行


提前谢谢

经过一番自我反省,我终于找到了回调函数的工作原理。 因此,解决方案如下:

clearAndFilter: function (nameValue) {
    var me = this;
    me.filters.clear();
    me.hasFilter = false;
    me.load({
        scope: me,
        callback: function () {
            // filter the store 
            me.filter('userName', nameValue);
        }

    });
},

filterNavAdminSTByUserName: function (nameValue) {
    this.clearAndFilter(nameValue);
}

在这里回复我的第一篇帖子感觉很好

你的问题有点含糊。
func1
是异步方法吗?不能将方法设置为异步。我在问
func1
是否做了任何异步的事情?通常是ajax请求。我不知道在ExtJS4.2.1中可以将方法设置为异步。据我所知(您可以猜到,知识有限),默认情况下,所有方法都是异步的。我该怎么设置呢?func1和func2都需要同步吗?还是仅仅是功能1?