Axios multi request (Deprecated)

tkddls8848·2022년 1월 5일
0

NARA-API

목록 보기
17/17

3가지 url을 요청하여 하나의 JSON데이터를 Frontend로 넘기고 싶었다.

    const api = "url 문자열1"
    const api1 = "url 문자열2"
    const api2 = "url 문자열3"
    
    getData = async (api) => {   
        await axios.get(api)
        .then((result) => {
            res.json(result.data.response.body)
       })
    }
    getData(api)

문제는 기존의 axios.get()으로는 한번에 3종류의 api를 받을 수 없다.
이상하게도 axios 공식 문서에는 나오지 않았지만 구글링 결과 axios multi request기능을 알게 되었다.

    axios.all([function1(),function2()])
	.then(axios.spread(result1,result2) => {
    	//result1, result2 처리
    })

all()에 배열을 넣어서 promise then의 결과에 axios.spread()를 이용하는 방법이다.

Concurrency (Deprecated)

Please use Promise.all to replace the below functions.
Helper functions for dealing with concurrent requests.
axios.all(iterable) axios.spread(callback)

뒤늦게 공식문서에서 해당 부분에 대한 언급을 확인했다.
결론적으로 axios.all은 지원하지 않고 Promise.all을 사용해야 한다.

profile
매일 배워 나갑니다.

0개의 댓글