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