2011-10-08 18 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調用。我也會發布我的答案。 –

相關問題