当前位置: 首页 > 面试题库 >

如何在AngularJS中取消$ http请求?

端木澄邈
2023-03-14
问题内容

在AngularJS中给出Ajax请求

$http.get("/backend/").success(callback);

如果启动另一个请求(相同的后端,例如不同的参数),取消该请求的最有效方法是什么?


问题答案:

此功能通过超时参数添加到1.1.5版本中:

var canceler = $q.defer();
$http.get('/someUrl', {timeout: canceler.promise}).success(successCallback);
// later...
canceler.resolve();  // Aborts the $http request if it isn't finished.


 类似资料:
  • 问题内容: 有一个新的API用于从JavaScript发出请求:fetch()。是否有任何内置的机制可以在飞行中取消这些请求? 问题答案: 现在支持截至2017年9月20日的参数,但目前 并非所有浏览器都支持此参数 。 2020更新: 大多数主流浏览器(Edge,Firefox,Chrome,Safari,Opera和其他一些浏览器)都支持该功能,该功能已成为DOM生活标准的一部分。(截至2020

  • 如何取消/中止angular 4中所有挂起的HTTP请求。 有一个取消HTTP请求的方法,但是如何一次取消所有挂起的请求。 尤其是在改变路线的时候。 我做了一件事 但是如何在全球范围内实现这一点 有什么想法吗?

  • 我想创建一个API,为了验证API使用者,我将提供一个API密钥、应用id和应用机密。问题是,我想知道http请求来自哪里,这样我就可以知道发出que请求的主机是否是注册主机。例如:www.someone。com的应用程序id为0001,应用程序机密为1200,api密钥为458。如果此凭据用于发出请求,我想知道请求者是否真的是www.someone。通用域名格式

  • 问题内容: 我用于ajax请求,而+ 用于渲染UI。在我的应用程序中,有第三方时间轴(reactJS组件)。时间轴可以通过鼠标滚动进行管理。应用程序在发生任何滚动事件后发送对实际数据的ajax请求。问题是服务器上的请求处理可能比下一个滚动事件慢。在这种情况下,应用可能会有几个(通常是2-3个)请求已被弃用,因为用户会进一步滚动。这是一个问题,因为每次接收新数据时线都会开始重绘。(因为它是react

  • 我使用处理ajax请求,使用渲染UI。在我的应用程序中,有第三方时间线(reactJS组件)。时间线可以通过鼠标滚动来管理。在任何滚动事件之后,应用程序都会发送实际数据的ajax请求。问题是服务器上的请求处理可能比下一个滚动事件慢。在这种情况下,应用程序可能有几个(通常为2-3个)请求,由于用户进一步滚动,这些请求已经被弃用。这是一个问题,因为每次收到新数据时,时间线都开始重新绘制。(因为它是re

  • 我正试图通过新的Java11HttpClient取消http请求。 这是我的测试代码: 我预计,该请求任务将在 行调用后立即被取消。因此,控制台中最后打印的行应该是 但是,当我运行这段代码时,我看到类似这样的内容: 这意味着,在我取消请求后,请求任务仍在运行…所以,这是取消请求的正确方法吗? UPD 取消请求的正确方法是(正如daniel所建议的,UPD2:在方法调用中避免NPE):