2010-11-05 76 views
0

我對xmlhttprequest對象有疑問。 比方說,我創建了一個xmlhttprequest對象X來處理用戶對服務器的請求(異步)。出於某種原因,服務器需要15秒才能響應。在這15秒內,如果用戶點擊另一個按鈕,我該如何確定我創建的第一個xmlhttprequest對象的存在,以便相應地執行操作(告訴用戶他/她需要等待第一個請求完成或取消它並繼續第二個。)Javascript:xmlhttpRequest對象如何一次處理一個異步請求

在短期內,我需要知道是否有任何請求正在處理以處理另一個請求。

預先感謝您。

回答

1

您可以在初始調用中設置一個標誌,然後在響應中將其清除。如果適用於您正在使用的框架,請務必在錯誤回調中清除它。

var callInProgress = false; 

... 

function callSever() { 
    callInProgress = true; 
    ... 
} 

function responseHandler() { 
    ... 
    callInProgress = false; 
} 

function errorHandler() { 
    ... 
    callInProgress = false; 
} 
+0

非常感謝Sam。 – TLE 2010-11-05 03:33:47