[JS] fetch에 대해 알아보자

2025. 1. 10. 23:08·Front-end/Javascript

Ajax는 외부에 있는 웹 서버의 정보를 가져오는 방법을 말한다

그 중 하나의 방법에 fetch 함수가 있다

 

fetch 함수를 이용하면

서버에게 데이터를 요청하고 응답하는 과정이 이루어진다

 

예를 들어,

크롬 브라우저를 실행시켜 url을 입력하는 창에 'https://www.naver.com/'을 입력했다고 하자

브라우저의 요청을 받은 웹 서버는 'https://www.naver.com/'에 대한 데이터를 찾은 뒤에 사용자에게 건네준다

 

 

fetch 구조

구조

기본적인 리소스를 취득하기 위한 fetch의 구조는 다음과 같다

fetch("url")
.then(response => response.json())
.then(data => console.log(data))

순서 1) fetch : '첫번째 인자로 전달된 데이터를 서버에게 요청할게'

순서 2) then : 'fetch야, 서버 응답이 끝나면 콜백 함수를 실행시켜줘'

 

fetch 함수는 Promise 객체를 반환한다

그렇기 때문에 .then을 사용할 수 있는 것이다

 

response 객체는 json() 메서드를 제공한다

이 메서드를 호출하면 response 객체로부터 JSON 형태의 데이터를 Javascript 객체로 변환할 수 있다

이 과정을 이해하기 어렵다면 'fetch 함수는 이런 과정으로 진행되는구나~'하고 넘어가도 된다

 

async / await를 이용하면 조금 더 직관적으로 코드를 짤 수 있다

async function logJSONData() {
  const response = await fetch("http://example.com/movies.json");
  const jsonData = await response.json();
  console.log(jsonData);
}

 

 

사용하는 이유

fetch는 간단한 문법으로 GET, POST, PUT, DELETE 등의 HTTP 요청을 보낼 수 있다

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Front-end > Javascript' 카테고리의 다른 글

[JS] 동기(synchronous)와 비동기(asynchronous)  (2) 2025.01.17
[JS] DOM 조작하기  (2) 2025.01.15
[JS] addEventListener + 이벤트 종류  (1) 2025.01.10
[JS] 비동기 처리 async / await에 대해 알아보자  (0) 2025.01.10
[JS] 비동기 처리 Promise에 대해 알아보자  (2) 2025.01.10
'Front-end/Javascript' 카테고리의 다른 글
  • [JS] 동기(synchronous)와 비동기(asynchronous)
  • [JS] DOM 조작하기
  • [JS] addEventListener + 이벤트 종류
  • [JS] 비동기 처리 async / await에 대해 알아보자
집으로 감자
집으로 감자
Hello World
  • 집으로 감자
    Potato to Home
    집으로 감자
  • 전체
    오늘
    어제
  • 링크

    • Github
    • 분류 전체보기
      • Front-end
        • TIL
        • Javascript
        • Typescript
        • React
        • Next.js
        • CSS
        • 라이브러리
      • Algorithm
        • 프로그래머스: 기초 트레이닝
        • 프로그래머스 LV1
      • TroubleShooting
      • Problem & Solution
      • Project
      • Programing Knowledge
        • 개발 용어
        • CS
        • 운영체제
        • 자료구조
        • 데이터 베이스
  • 태그

    코딩테스트
    styledcomponent
    react
    문제해결
    프로그래머스
    회고
    실행컨텍스트
    Til
    CSS
    JavaScript
    개발용어
    트러블슈팅
    http
    tanstackquery
    반응형웹
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
집으로 감자
[JS] fetch에 대해 알아보자
상단으로

티스토리툴바