나는 http 요청을 수행하는 컨트롤러가 있습니다.
이 요청은 일부 데이터를 반환하는 데 2 초에서 4 분까지 걸릴 수 있습니다.
검색을 완료하는 데 너무 오래 걸리면 사용자가 요청을 취소해야하는 버튼을 추가했습니다.각도 서비스 약속 취소
컨트롤러 :
$scope.search = function() {
myFactory.getResults()
.then(function(data) {
// some logic
}, function(error) {
// some logic
});
}
서비스 :
var myFactory = function($http, $q) {
return {
getResults: function(data) {
var deffered = $q.dafer();
var content = $http.get('someURL', {
data: {},
responseType: json
)}
deffered.resolve(content);
returned deffered.promise;
}
}
}
버튼 클릭 :
$scope.cancelGetResults = function() {
// some code to cancel myFactory.getResults() promise
}
가 어떻게 impleme 수 버튼을 클릭하면 myFactory.getResults()
약속을 취소 할 수 있습니까?
** 수동 ** 취소가 필요하거나 시간 제한이있는 항목이 필요합니까? – Mistalis
@Mistalis - 사용자가 요청 시간 초과를 기다리거나 취소를 클릭 할 수 있으므로 수동으로 –
[AngularJS에서 $ http 요청을 취소하는 방법?] (http://stackoverflow.com/questions/13928057/how -to-cancel-an-http-request-in-angularjs) – Liam