source

AngularJS 실패한 리소스 GET

nicesource 2023. 4. 4. 21:25
반응형

AngularJS 실패한 리소스 GET

리소스를 AngularJS로 가져오지 못한 것을 확인할 수 있는 방법을 아는 사람이 있습니까?

예를 들어 다음과 같습니다.

//this is valid syntax
$scope.word = Word.get({ id : $routeParams.id },function() {
    //this is valid, but won't be fired if the HTTP response is 404 or any other http-error code
});

//this is something along the lines of what I want to have 
//(NOTE THAT THIS IS INVALID AND DOESN'T EXIST)
$scope.word = Word.get({ id : $routeParams.id },{
    success : function() {
      //good
    },
    failure : function() {
      //404 or bad
    }
});

좋은 생각 있어요?

첫 번째 콜백 함수 뒤에 추가 콜백 함수는 오류가 발생했을 때 실행됩니다.문서그룹 투고에서 가져온 내용:

$scope.word = Word.get({ id : $routeParams.id }, function() {
    //good code
}, function(response) {
    //404 or bad
    if(response.status === 404) {
    }
});
  • HTTP GET "class" 액션:Resource.action([파라미터], [성공], [오류])
  • GET 이외의 "클래스" 액션:Resource.action([파라미터], postData, [성공], [오류])
  • 비 GET 인스턴스 액션: 인스턴스.$action([파라미터], [성공], [오류])

@Adio의 질문에도 대답하기 위해서.

두 번째 콜백은 임의의 http 응답 코드가 AngularJs에 의해 오류로 간주될 때 호출됩니다([200, 300]의 응답 코드만 성공 코드로 간주됩니다).따라서 일반적인 오류 처리 기능을 사용할 수 있으며 특정 오류에 대해 신경 쓰지 않습니다.if 문을 사용하여 오류 코드에 따라 다른 작업을 수행할 수 있지만 필수 사항은 아닙니다.

알려드리기 위해서입니다.

각도 1.6.x부터 성공과 실패는 권장되지 않습니다.그러니 이제 그때를 따라가서 성공과 실패를 대신해서 잡아주세요.

따라서 위의 코드는 angular 1.6.x와 같습니다.

$scope.word = Word.get({ id : $routeParams.id }).then(=> () {
    //this is valid, but won't be fired if the HTTP response is 404 or any  other http-error code
}).catch(=> () {
    // error related code goes here
});

언급URL : https://stackoverflow.com/questions/11598097/angularjs-failed-resource-get

반응형