Skip to content

axios VS fetch

jin-Pro edited this page Oct 28, 2021 · 3 revisions

axios

장점

  • 사용하기 편하다.
  • fetch에 존재하지 않는 기능이 있다. ( fetch에는 없는 response timeout 처리 방법이 있다)
  • JSON 요청을 자동으로 파싱해준다.
  • promise 기반으로 다루기가 쉽다
  • 크로스 브라우징에 신경을 많이썼기에 브라우저 호환성이 뛰어나다.

단점

  • 라이브러리를 설치해주어야 한다.

fetch

장점

  • 설치할 필요가 없다.
  • 크롱님이 추천함

단점

  • 크로싱 브라우저를 지원하지 않는다
  • Request Aborting 에 대해서 표준적인 방법을 제공해 주지 못함. ( Request Aborting 이란? 요청을 취소하는 것)
    • fetch에서는 abort API를 사용하여 timeout을 지정해주어야 한다
  • 네트워크 에러가 발생했을 때, 계속 기다려야됨 -> response timeout API 제공이 안됨.
  • JSON 요청을 직접 파싱해야 한다.

axios 와 fetch 의 차이점

  • fetch 의 request 함수는 response 객체가 ok 프로퍼티를 포함하는 것으로 정상적인 요청/응답을 체크하고, axios 는 stㅇatus 값이 200 인지와 statusText 를 통해서 확인한다.

  • fetch 는 response 객체에 .json() 메소드를 호출하여서 json 객체를 얻고, axios 는 response 객체의 data property 에 접근함으로써 얻는다.

Clone this wiki locally