Ajax 그리고 axios vs fetch(2)

guddls ju·2022년 6월 20일
0
post-thumbnail

Axios

Axios는 node.js와 브라우저를 위한 HTTP통신 라이브러리입니다.

  1. 사용하기 좀 더 편리하다. return을 promise 객체(심지어 Json 형식)로 해주기 때문에 response 데이터를 다루기도 쉽습니다.

  2. fetch 에는 존재하지 않는 기능이 좀 더 많다.

  3. Promise based

Fetch

Fetch API는 네트워크 통신을 포함한 리소스 취득을 위한 인터페이스가 정의되어 있습니다. XMLHttpRequest와 같은 비슷한 API가 존재합니다만, 새로운 Fetch API는 좀더 강력하고 유연한 조작이 가능합니다.

  1. 라이브러리를 import 하지 않아도 사용할 수 있다.

  2. React Native 의 경우에 업데이트가 잦기 때문에, 라이브러리(예를들면, axios 같은 것들..)이 이 업데이트를 쫓아오지 못하는 경우가 생기는데, Fetch 는 이걸 걱정할 필요 없이 사용 가능

  3. Promise based

  4. Request Aborting 에 대해서 표준적인 방법을 제공해 주지 못함.

  5. 네트워크 에러가 발생했을 때, 계속 기다려야됨 -> response timeout API 제공이 안됨.

  6. 지원하지 않는 브라우저가 있다.

  7. Error handling 관련해서 문제가 좀 있다.

  • Catch 에 걸렸을 때, 이후 .then( ~~~ )을 실행한다.
  • axios 의 경우엔 .then(~~~)을 실행하지 않고, console 창에 해당 에러로그를 보여준다.

결론

  1. 둘다 쓰는데 무리 없고, 잘 동작 하나, axios 는 주로 react, fetch 는 react native 에 사용한다.(React-native 의 빠른 업데이트 때문에 ..Quora 에 답변 다신 어떤분 개인 의견)

  2. 전체적으로 이 둘은 비슷하나, axios 가 조금 더 장점이 많다. 동시에 fetch 의 단점도 꽤나 존재한다.

  3. fetch 가 좀더 가볍고 axios 가 상대적으로 좀 더 무거운 느낌(제공하는 기능이 더 많다.)

  4. 요청 취소를 위해선 fetch 가 아닌 axios 등의 다른 라이브러리 사용이 필요하다.

profile
효율에 미친자

0개의 댓글