반응형
fetch vs axios
웹어플리케이션의 기본 업무 중 하나는 HTTP프로토콜을 통해 서버와 통신하는 것이다. 이 작업은 Fetch 또는 axios를 사용하여 쉽게 수행할 수 있다.
사용하기 쉽기 때문에 내장 API 보다 axios를 선호하는 개발자들도 있다.
Fetch API는 Axios의 주요기능을 완벽하게 재현할 수 있다.
axios
브라우저에서 node.js 또는 XMLHttpRequests의 HTTP 요청을 만드는데 사용되는 JS 라이브러리이다.
JS ES6에 기본으로 제공되는 Promise API를 지원한다.
XSRF에 대한 클라이언트 측 보호를 활성화한다.
프론트엔드와 백엔드의 통신을 도와준다.
코드 작성법
axios.get('url') // url과 data, headers 등의 정보를 담아 요청
.then((response) => {
// 통신에 성공했을 때 실행할 코드
})
.catch((error) => {
// 실패 했을 경우 에러처리 코드
}
Fetch API
HTTP 파이프라인의 일부(요청 및 응답)에 접근하고 조작할 수 있는 JS 인터페이스를 제공한다.
가져올 리소스의 URL이 필수로 있어야한다.
요청의 응답을 검색하는데 사용되는 promise를 반환한다.
코드 작성법
fetch('path-to-the-resource-to-be-fetched') //url 전송
.then((response) => {
// 통신에 성공했을 경우에 실행 할 코드
})
.catch((error) => {
// 실패 했을 경우 에러처리 코드
});
Axios vs Fetch
axios | fetch |
---|---|
request 객체에 url이 있다. | reqeust객체에 url이 없다. |
쉽게 설치할 수 있는 패키지 | 대부분의 최신 브라우저에 내장되어있어 설치할 필요가 없다. |
XSRF 보호기능을 내장하고 있다. | - |
data 속성을 사용한다. | body 속성을 사용한다. |
data에 객체가 포함되어 있다. | body 객체는 stringified를 거쳐야한다. |
응답코드가 200일 때 정상 | 통신에 성공했을 경우 ok |
JSON 데이터의 자동변환을 수행 | JSON데이터를 처리할 때 1번째로 요청을 하고 2번쨰로 .json() 메서드를 호출한다. |
요청 취소가능, 응답시간 초과 설정가능 | 불가능 |
HTTP요청을 가로챌 수 있음 | 제공하지 않음 |
참고사이트 : https://www.geeksforgeeks.org/
반응형
'Study > JavaScript' 카테고리의 다른 글
JS ) 함수를 생성하는 방법 (0) | 2022.03.13 |
---|---|
JS ) Sort() 정렬에서 CompareFunction 의 필요성 (0) | 2022.02.28 |
ES6 ) 비구조화 할당 (0) | 2022.01.28 |
JavaScript ) 다차원 배열 생성 (0) | 2022.01.27 |
JavaScript ) 배열 기초 (0) | 2022.01.14 |
댓글