2013-02-14 51 views
0

有沒有辦法阻止.complete呼叫被解僱?完成和失敗都不夠好,因爲整個部分有遞歸。 (我想即使它失敗,做一遍)一種方法來停止ajax.complete

request.complete(function(){ 
       myrefresh = setTimeout(function(){updateMenu(ID);}, 5000); 
      }); 

是我Ajax調用的完整方法運行每5秒。 最後,當這個更新完成時,我會有一個來自request.done的響應,它會給我一個標誌來進行條件化。 即我想要做這樣的事情:

if(flag=0) { request.complete(function(){ 
       myrefresh = setTimeout(function(){updateMenu(ID);}, 5000); 
      }); 
} else { clearInterval(myrefresh) } 

但在一個大

var request = $.ajax({ 
      url: etc 

的結構設置。

任何想法?

關於如何設置?我似乎無法讓.done return(text)var在.complete區域中工作。

回答

1

我認爲你正在尋找setInterval()clearInterval()。它們是原生JavaScript函數,允許您以給定的時間間隔重複執行一個函數。

var intervalId = setInterval(updateMenu, 5000, ID); 
// When you want to stop.... 
clearInterval(intervalId); 
相關問題