새소식

반응형
Front-end

axios vs. fetch

2024.11.21
  • -
반응형

Fetch API

  • 네이티브 브라우저 API로 Node.js 프로젝트에 라이브러리를 설치할 필요가 없습니다.
  • 클라이언트는 요청의 데이터를 JSON으로 변환하여 전송해야 합니다.
  • 응답에 404 또는 500 예외가 있어도 예외를 발생시키지 않습니다.
  • 응답 상태를 명시적으로 확인해야 합니다.
  • response.json() 프로미스를 resolve 하여 응답 데이터를 가져옵니다. Fetch API는 Internet Explorer를 제외한 모든 브라우저를 지원합니다.

예시 코드:

 

//sends data using fetch api.
async function getUserInfoFetch()
{
    try
    {
        let userInfo = await fetch('https://jsonplaceholder.typicode.com/posts/1');

        if (userInfo.status == 404 || userInfo.status == 500)//explicit checking for 404 and 500 etc.
        {
            throw new Error(userInfo.statusText);
        }
        userInfo = await userInfo.json();//resolving promise.

        console.log(userInfo);//readin data.

    } catch (error)
    {
        console.log(error)
    }
}

 

2. Axios

  • node 패키지로 node.js 프로젝트에서 설치하여 사용할 수 있습니다.
  • 자동으로 데이터를 JSON으로 변환하여 요청을 보냅니다.
  • 응답에 404 또는 500 상태 코드가 있으면 Promise를 reject 합니다.
  • response.data에서 데이터를 가져올 수 있습니다.
  • 모든 브라우저를 지원합니다.

 

예시 코드:

 

const axios = require('axios');

//function that sends http request using axios.
async function getUserInfoAxios()
{
    try
    {
        let userInfo = await axios.get('https://jsonplaceholder.typicode.com/posts/10');

        //reading the response by data property
        console.log(userInfo.data);
    } catch (error)
    {
        console.error(error)
        //console.error(error)
    }
}

 

 

 

 

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.