在Extjs中,异步请求的写法:
Ext.Ajax.request({
url: '***.action',
//async: false,
params: {
p1: v1,
p2: v2
...
},
success: function(response, options){
//TODO
}
});
其中,若想变成同步请求,只需要在配置项中添加async: false,默认true。
配置说明:
url,访问的请求地址;
params,参数对象,为请求提供的条件;
success,当请求执行成功后,会进入该回调方法。
说到这里,我们先来回忆一下什么是异步请求,简单来说就是不需要等待上一个请求的返回便可执行;简单的说,若发起了10次异步请求,且中间过程用时极短,那么我们可以看作这10次请求是一起访问目标地址的;
这里我用一个循环来举例说明异步(类似Java多线程)的一些问题和解决方法。
//5个不同对象(结构相同,内容不同)
var params = [obj1, obj2, obj3, obj4, obj5];
for(var i = 0; i < params.length; i++){
var param = params[i];
Ext.Ajax.request({
url: '?',
params: {
key: param.key,
fil