2012-10-25 43 views
0

我正在嘗試使用輪詢進行間隔爲15秒的小檢查。如何立即開始投票?

setInterval(function(){ 
      $.ajax({ url: "aaa.com", 
       success: function(data){ 
       showUpdate(data); 
       }, dataType: "text"}); 
      }, 15000); 

但是這意味着在輪詢開始之前有一個15秒的初始​​延遲,這在我的情況下是不需要的。 我如何強制輪詢立即開始?

回答

2

別看智能解決方案時,簡單的人做的工作:

function check() { 
    $.ajax({ url: "aaa.com", 
    success: function(data){ 
    showUpdate(data); 
    }, dataType: "text"}); 
} 
check(); 
setInterval(check, 15000); 

另外,我一般喜歡

function check() { 
    $.ajax({ url: "aaa.com", 
    success: function(data){ 
     showUpdate(data); 
     setTimeout(check, 15000); 
    }, dataType: "text"}); 
} 
check(); 

因爲不會有在電話一疊延遲響應的情況。

0

沒有進入具有處理通話之間的延遲一個回調函數的一個稍微複雜一點的想法,最簡單的方法是隻動功能出了一個名爲功能,只需要調用它手動第一次輪

function doSomething() { 

$.ajax({ url: "aaa.com", 
       success: function(data){ 
       showUpdate(data); 
       }, dataType: "text"}); 

} 

doSomething(); 

setInterval(doSomething, 15000); 
0

如何只:

function immediatePoll(f, interval) { 
    f(); 
    setInterval(f, interval); 
} 

immediatePoll(function(){ 
     $.ajax({ url: "aaa.com", 
      success: function(data){ 
      showUpdate(data); 
      }, dataType: "text"}); 
     }, 15000);