[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()
메서드를 사용하여 응답을 개별적으로 받게 됩니다.