Axios

hwakyungChoi·2020년 10월 15일
0

Axios란

  • 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리입니다.

기능

  • 브라우저 환경: XMLHttpRequests 요청 생성
  • Node.js 환경: http 요청 생성
  • Promise API 지원
  • 요청/응답 차단(Intercept)
  • 요청/응답 데이터 변환
  • 취소 요청
  • JSON 데이터 자동 변환
  • 사이트 간 요청 위조(XSRF) 보호를 위한 클라이언트 사이드 지원

사용법

GET 요청

const axios = require('axios');

// ID로 사용자 요청
axios.get('/user?ID=12345')
  // 응답(성공)
  .then(function (response) {
    console.log(response);
  })
  // 응답(실패)
  .catch(function (error) {
    console.log(error);
  })
  // 응답(항상 실행)
  .then(function () {
    // ...
  });

async 함수

  • 비동기 통신 요청을 처리
  • async/await 오류 디버깅을 위해 try...catch 구문을 사용
async function getUser() {
  try {
    const response = await axios.get('/user?ID=12345');
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

POST요청

axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

멀티 요청

  • 여러 요청을 동시 수행시 axios.all() 메서드 사용
function getUserAccount() {
  return axios.get('/user/12345');
}

function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}

axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // Both requests are now complete
  }));

0개의 댓글