AngularJS:如何中止我尚未收到响应的http请求

AngularJS:如何中止我尚未收到响应的http请求,angularjs,xmlhttprequest,Angularjs,Xmlhttprequest,我试图做的是取消一个请求或停止侦听特定请求的响应。我不能在请求中使用超时。是否取消的决定只有在发出请求后才能做出。我在ajax jQuery中看到了解决方案。是否有任何角度的解决方案。我使用$http进行POST请求。这在以下部分中进行了描述: 超时–{number | Promise}–以毫秒为单位的超时,或在解析时应中止请求的承诺 因此,在发送请求时,向配置超时传递一个承诺,并在决定中止时解决它: var cancelDefer = $q.defer(); $http.get(url, {

我试图做的是取消一个请求或停止侦听特定请求的响应。我不能在请求中使用
超时
。是否取消的决定只有在发出请求后才能做出。我在ajax jQuery中看到了解决方案。是否有任何角度的解决方案。我使用
$http
进行POST请求。

这在以下部分中进行了描述:

超时–{number | Promise}–以毫秒为单位的超时,或在解析时应中止请求的承诺

因此,在发送请求时,向配置超时传递一个承诺,并在决定中止时解决它:

var cancelDefer = $q.defer();
$http.get(url, {
    timeout: cancelDefer.promise
}).success(...);

// later, to cancel the request:
cancelDefer.resolve("cancelled");

只需添加我最近使用的咖啡脚本版本:

canceller = $q.defer()

$http.get (requestUrl, { timeout: canceller.promise })
  .then (response) ->
    $scope.remoteData = response.data;

$scope.cancel = () ->
  canceller.resolve 'Cancelled http request'

您是否尝试过使用请求拦截器?我可以知道哪个angular版本在超时时支持promise对象吗?我正在使用v1.2.26确保:转到文档页面,确保选择左上角的版本1.2.26,然后查看该版本是否支持它。