5
HTTP 요청을 중단하는 전역 메서드를 설정하는 방법은 매우 명확합니다.
$scope.canceller = $q.defer();
var API = $resource('http:/foo.com', {}, {get: {
method:'GET',
timeout:$scope.canceller.promise
}});
$scope.abortRequests = function() {
$scope.canceller.resolve();
}
그러나 내가 원하는 특정 요청 만 중단하고 싶습니다. 중단 할 수 있어야하는 요청에 대해 별도의 리소스를 정의 할 수는 있지만 꽤 못 생깁니다. 조건부로 타임 아웃을 허용 할 수있는 $ 리소스를 호출 할 때 매개 변수 나 뭔가를 전달할 수있는 방법이 있습니까? 어쩌면 줄을 따라 :
var API = $resource('http:/foo.com', {}, {get: {
method:'GET',
timeout:function() { if (FOO) { return $scope.canceller.promise; }}
}});
그러나 어떻게 FOO에 액세스합니까?
어떤 통찰력에도 감사드립니다!
이렇게하는 방법은 찾을 수 없으므로이 풀 요청에서 패치를 적용했습니다. https://github.com/angular/angular.js/pull/5613 - 그것은 잘 작동하는 것 같다. 위의 코드 예제를 사용하면 API를 호출 할 수 있습니다. $ abort(); 요청을 중단합니다. –