2011-10-08 17 views
1

我正在使用JavaScript进行轮询,以获取某些信息与ajax,但在确切的相同时间间隔。使用Javascript投票,但在不同的时间间隔

intervalRequestId = setInterval('loadInfo()', 2500); 

因为我现在知道,信息是在不同的时间间隔来的,我想在不同的时间间隔进行轮询。例如:

第一次请求:2秒后 - >非常重要,即2秒后! 第二个请求:15秒后25秒

后 四要求7秒之后 第三请求

有很好的可能性?

+0

第五个请求怎么样等等?间隔会改变吗? –

回答

1
(function(){ 
var iteration = 0, // keep track of your iterations 
    delays = [7000, 15000, 25000], // delays between iterations 
    callback; // wrapper for your loadinfo() 

callback = function(){ 
    // run your function 
    loadinfo(); 
    // determine next delay, if not set, use the last of the sequence 
    var delay = delays[iteration] || delays[delays.length - 1]; 
    // next run, next iteration 
    iteration++; 
    // register callback to run after determined delay 
    setTimeout(callback, delay); 
}; 

// run first execution after 2 seconds 
setTimeout(callback, 2000); 
})(); 
+0

很酷的东西,谢谢!我用另一种方式做了。我也计算迭代,只有当某些迭代可以接受时,才会执行ajax调用。我也会发布我的答案。 –

相关问题