[javascript] Axios를 이용한 동시 다중 요청 처리 방법

Axios는 브라우저와 Node.js 환경에서 동작하는 강력한 HTTP 클라이언트 라이브러리입니다. 이 라이브러리를 사용하여 동시에 여러 개의 요청을 보내고, 응답을 받는 방법에 대해 알아보겠습니다.

동시 다중 요청 보내기

Axios를 사용하여 동시에 여러 개의 요청을 보내기 위해서는 axios.all() 메서드를 사용합니다. 이 메서드는 여러 개의 Axios 인스턴스를 배열로 받아서 한 번에 실행합니다. 각각의 요청에 대한 응답은 배열의 순서와 동일하게 반환됩니다.

const axios = require('axios');

const request1 = axios.get('https://api.example.com/data1');
const request2 = axios.get('https://api.example.com/data2');
const request3 = axios.get('https://api.example.com/data3');

axios.all([request1, request2, request3])
  .then(axios.spread((response1, response2, response3) => {
    // 요청들을 동시에 보냈으며, 각각의 응답을 받음
    console.log(response1.data);
    console.log(response2.data);
    console.log(response3.data);
  }))
  .catch(error => {
    console.error(error);
  });

위 예제에서는 axios.get() 메서드를 사용하여 각각의 요청을 생성하고, axios.all() 메서드에 배열로 전달합니다. 그리고 axios.spread() 메서드를 사용하여 응답을 개별적으로 받게 됩니다.

참고 자료