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