0
承諾在預輸入的情況下,我取消了以前的電話的聯繫人,還沒有回來,一個新的呼叫已經取得,使用下面的代碼:取消有消息
function($http, $window, $q, $timeout){
var suggestions = [];
var cancel = $q.defer();
return {
getSuggestions : function(inputText){
var deferred =$q.defer();
var promise = deferred.promise;
cancel.resolve('request cancelled');
cancel = $q.defer();
var baseUrl = "http://localhost:8080/PackagingTest/hello";
var params = {
query : inputText,
suggestionsSize : 10
}
$http.get(baseUrl, {params : params, timeout : cancel.promise}).then(
function(response){
suggestions = repsonse;
deferred.resolve(suggestions);
}, function(error){
//check if cancelled and log the error message
if(){
console.log(someErrorMsg);//should log 'request cancelled'
}
console.log(error);
deferred.reject(error);
});
return promise;
}
}
}
這將取消以前的請求每次都有新的請求。但我無法獲取取消的狀態消息。 $ http錯誤處理程序調用data: null, status: -1, config: Object, statusText: "", headers: function
,在那裏我找不到任何屬性與我的文本。我做錯了,還是在請求被中止時沒有辦法附加消息?
我沒有看到你在哪裏取消先前的呼叫。顯示該代碼。 –
看起來像是在這裏修復的:https://github.com/angular/angular.js/issues/15924 – gaurav5430