[axios] axios 개념 및 소개
in JS Technology on JS 라이브러리
axios에 대해서 학습한다.
1. 개요
axios는 node.js 와 브라우저를 위한 http통신 라이브러리 입니다.
http 통신 라이브러리중에는 JQuery Ajax , fetch 등이 있습니다. 하지만 이 라이브러리 중 요세 가장 인기 있는 라이브러리는 바로 axios 입니다.
위의 그림처럼 npm 에서 axios는 엄청난 다운로드 숫자를 보유하고 있습니다.
2. axios 와 fetch , Jquery Ajax 비교
그렇다면 axios는 fetch 와 비교해서 무엇이 강점이기 때문에 axios가 대세가 된 것일까요?
- axios
- 구형브라우저를 지원한다.
- 응답시간 초과를 설정하는 방법이 있다
- JSON데이터의 자동 변환이 가능하다.
- node.js에서의 사용이 가능하다.
- request aborting (요청취소) 가 가능하다.
- catch에 걸렸을때 console에 자동 로그 삽입
- Promise 객체 형태로 return 한다.
- fetch
- 자바스크립트 내장 라이브러리이기 때문에 import 하지 않고 사용 가능하다.
- 라이브러리 업데이트에 따른 에러방지가 가능하다.
- 네트워크 에러가 발생했을 때 기다려야 한다.
- 미지원 브라우저가 있다.
- Promise 객체 형태로 return 한다.
- Jquery Ajax
- Jquery 를 통해 쉽게 구현이 가능하다.
- error, success, complete 의 상태를 통해 실행흐름을 쉽게 조절할 수 있다.
- Jquery를 사용해야한다.
- Promise 기반이 아니다.
3. 정리
각각의 통신 라이브러리를 살펴보았는데요 요즘 콜백은 Promise 기반으로 동작하는 것을 선호하기 때문에 axios와 fetch 를 많이 사용하실 것으로 생각 됩니다 둘중에 더 기능이 파워풀한 axios 를 사용을 많이 하시겠지만 fetch 도 기본 내장 라이브러리 이기 때문에 어플리케이션을 더 가볍게 가져가는 방향이라면 fetch 나쁘지 않은 선택인것 같습니다.