개인공부/TIL(Today I Learned)

TIL 91일차_axios에서의 오류처리

soon327 2021. 4. 19. 20:53

axios를 사용하여 httml통신을 했을 때,
catch로 잡아낸 에러에 접근하는 방법은 아래와 같다.

axios.get('/user/12345')
  .catch(function (error) {
    if (error.response) {
      // 요청이 이루어졌으며 서버가 2xx의 범위를 벗어나는 상태 코드로 응답했습니다.
      console.log(error.response.data);
      console.log(error.response.status);
      console.log(error.response.headers);
    }
    else if (error.request) {
      // 요청이 이루어 졌으나 응답을 받지 못했습니다.
      // `error.request`는 브라우저의 XMLHttpRequest 인스턴스 또는
      // Node.js의 http.ClientRequest 인스턴스입니다.
      console.log(error.request);
    }
    else {
      // 오류를 발생시킨 요청을 설정하는 중에 문제가 발생했습니다.
      console.log('Error', error.message);
    }
    console.log(error.config);
  });

config 옵션validateStatus을 사용하여 사용자 정의 HTTP 상태 코드 오류 범위를 정의 할 수도 있다.

axios.get('/user/12345', {
  validateStatus: function (status) {
    // 상태 코드가 500 이상일 경우 거부. 나머지(500보다 작은)는 허용.
    return status < 500;
  }
})

Reference

Axios러닝가이드

'개인공부 > TIL(Today I Learned)' 카테고리의 다른 글

TIL 93일차_Mongoose 사용하기  (0) 2021.04.21
TIL 92일차_Null Check  (0) 2021.04.20
TIL 90일차_jwt 사용하기  (0) 2021.04.18
TIL 89일차_axios 정리하기  (0) 2021.04.17
TIL 88일차_ Sequelize 사용하기  (0) 2021.04.16