最近在做调度系统,转接prometheus请求时遇到的问题,需要同时请求若干个url,并对其response处理后才能展示。觉得很有意思,就记录一下。
一、ajax嵌套
ajax嵌套ajax。跟疯狂for循环一样,这种方式只能串行发起ajax请求。弊端也很明显,随着ajax请求次数增加,嵌套层数也逐渐加深,代码很难维护。而且,效率也不高。
function getData(){
$.ajax({url: “/something”,type:’GET’,dataType:’json’,success: function(data1){
$.ajax({url: “/something”,type:’GET’,dataType:’json’,success: function(data2){
$.ajax({url: “/something”,type:’GET’,dataType:’json’,success: function(data3){
console.log(data1);
console.log(data2);
console.log(data3);
}
})
}
})
}
})
}
二、设置一个全局变量
所有ajax接口都可以同时发起请求,而且代码分离,在每个ajax的callback都统一回调一个函数,由这个函数来判断全局变量是否达到条件。
function getData(){