2017-03-17 71 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