[英]Cancelling ongoing Angular $http requests when there's a new request
[英]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.