2017-03-17 75 views
0

狀態的http請求我有兩種類型的HTTP GET請求:1, /abcdocsearch和 2/reloadList取消基於其他請求在JavaScript

的/ reloadList響應比/ abcdocsearch慢得多。我想取消/ abcdocsearch請求,如果在它之後調用/ reloadList請求已經完成。

我該如何在Javascript中做到這一點。 我正在使用一些私人圖書館來撥打這些電話。

編輯

庫內部使用goog.Promise - https://google.github.io/closure-library/api/goog.Promise.html,我能得到這個承諾對象。

我試過使用 goog.Promise.cancel("error"),但是,請求沒有被取消,仍然滿足。

+0

*「我使用了一些私人圖書館,使這些電話。」 *這是很難幫助你,如果我們不」不知道要與之交互的API。請提供一些示例代碼。 – gyre

+2

像@gyre說的那樣取決於你用什麼方法來提出請求。例如,取回請求無法取消。另一方面,在XMLHttpRequest請求中,您可以使用abort()。 –

+0

@gyre修改了內容。 – user3288346

回答

0

根據包含的API文檔,不存在所謂的cancelgoog.Promise靜態函數然而,在用對象的實例函數,所以要取消一個承諾,你需要取消時承諾的實例這樣

var promise = goog.Promise(/* pass your callbacks here*/); 
. 
. 
. 
promise.cancel(/*reason*/); 

我很懷疑,如果你打開控制檯,你會看到一個錯誤信息像cancel is not defined on goog.Promise