簡體   English   中英

取消$ http請求angularjs

[英]cancelling $http request angularjs

嘗試在搜索輸入框上取消$ http請求,但先前的請求似乎沒有中止。 我跟着其他堆棧溢出問題的例子。 這是我的JS代碼:

var canceler;
$scope.someFunction = function() {
      if(canceler)
         canceler.resolve();
      canceler = $q.defer();
      $http({method: 'GET', url:  service+url, timeout: canceler.promise}).
          success(function(data, status, headers, config) {  });
}

HTML:

<input ng-change="someFunction" />

如果我在搜索框中輸入兩個字符,則會調用該函數兩次,但初始請求仍然會通過。 因此,兩個請求最終都會通過,並且在響應時間內等待它是隨機的,正在使用哪個響應。 圖書館在某些時候發生了變化嗎? 我有一段時間以前的工作,但現在它不再工作了。

我認為角度js的版本可能有問題,因為他們已經刪除了promise的超時選項,你現在只能以毫秒為單位給出超時但是有一個解決方法,請查看此鏈接http://www.bennadel的.com /博客/ 2624-中止-AN-AJAX請求-angularjs-使用- - httpi.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM