我在我的页面中有一个案例,我有六个小部件(即div),每个小部件调用一个ajax函数的不同间隔(一个div间隔可能是20s,或者有一个将是30s).After从服务器获取结果,我将更新相应的panels.Which是处理这个scenario.Is的最好方法它是一个好做法,保留每个面板(例如:像setInterval,setTimeout)的六个不同的javascript计时器.If not,什么是处理这种情况的最佳方式。
发布于 2013-01-04 06:18:12
解决方案:
duration = 20;
(function getMoreData(divIndex) {
console.log("Process First");
// Get ajax data for first div
$.ajax({
url: url1,
dataType: 'json',
data: "",
timeout: 5000,
success: function(data) {
dataFlag[divIndex]= true;
// Process data...
// Update "div 1"
},
error: function() {
dataFlag[divIndex]= true;
// Process error
}
});
// Second div
console.log("Process Second");
// Get ajax data for second div
$.ajax({
url: url2,
dataType: 'json',
data: "",
timeout: 5000,
success: function(data) {
dataFlag[divIndex]= true;
// Process data...
// Update "div 2"
},
error: function() {
dataFlag[divIndex]= true;
// Process error
}
});
// Third div
console.log("Process Third");
// Get ajax data for second div
$.ajax({
url: url3,
dataType: 'json',
data: "",
timeout: 5000,
success: function(data) {
dataFlag[divIndex]= true;
// Process data...
// Update "div 3"
},
error: function() {
dataFlag[divIndex]= true;
// Process error
}
});
setTimeout(getMoreData, (duration * 1000));
})()
https://stackoverflow.com/questions/14151984
复制相似问题