inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 리액트 A-Z[19버전 반영]

이미지 배너 생성하기

async await

363

puding0712

작성한 질문수 1

0

안녕하세요. banner.js에서 질문이 있습니다

이 부분에서 왜 async await를 사용하셨는지 궁금합니다!

const fetchData = async () => {
        // 현재 상영중인 영화 정보를 가져오기(여러 영화)
        const request = await axios.get(requests.fetchNowPlaying);
        // 여러 영화 중 영화 하나의 ID를 가져오기
        const movieId =
            request.data.results[
                Math.floor(Math.random() * request.data.results.length)
            ].id;
    
        // 특정 영화의 더 상세한 정보를 가져오기(비디오 정보도 포함)
        const { data : movieDetail } = await axios.get(`movie/${movieId}`, {
            params: {append_to_response: "videos"},
        });
        setMovie(movieDetail); 
    }

react redux tdd typescript next.js 소프트웨어-테스트

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

위 코드에서 async await는 비동기 함수를 작성할 때 사용하는 문법입니다.

axios.get() 함수는 Promise를 반환하기 때문에 async await를 이용해 비동기 호출을 처리했습니다.

또한, axios.get() 함수를 이용해 데이터를 가져오는 과정에서 데이터가 로드될 때까지 기다리지 않으면 빈 화면이 뜰 수 있기 때문에 async await를 이용해 API 응답을 받은 후 데이터를 처리했습니다.

즉, 비디오 정보를 포함한 특정 영화의 더 상세한 정보가 브라우저에 렌더링되기 전까지 로딩 스피너를 띄우지 않게 하기 위해서 async await를 사용한 것입니다.

더 궁금한 내용이 있으면 언제든지 댓글로 질문해주세요. 감사합니다.

0

puding0712

아 해결됐습니다 감사합니다~!

강의 소스 코드 압축 풀기 오류

0

70

1

런타임 에러 ㅠㅠ

0

84

1

강의대로 따라갔는데 에러보다 api키로 들어간 넷플릭스? 그런게 렌더링 되지 않습니다 ㅠ

0

100

1

안녕하세요 개발과 상관없는 질문입니다만

0

111

1

리액트 라우터 관련

0

101

1

react-beatiful-dnd에서 문제가 발생합니다.

0

103

1

react19에서는 react-beautiful-dnd가 설치되지 않습니다.

0

806

1

useEffect로 사용을 해도 되나요?

0

198

1

넷플릭스 오리지널 제외하고 슬라이드가 동작을 안합니다.

0

195

1

react 19의 useActionState가 더이상 isPending은 지원하지 않는 듯합니다

0

279

2

리액트 dockderfile 작성 시 COPY 질문

0

145

1

next.js에서부터는 react query 필요없는지

0

320

1

기능

0

193

1

오류가 안보여요

0

193

1

CSS

0

217

1

local storage

0

208

1

list컴포넌트 생성하기

0

223

1

검색어 입력 후 초기화하는 방법 궁금합니다!

0

331

1

Banner.css에 대해서

0

444

1

플러그인이 추천을 안해줍니다

0

320

1

마이너스버튼 테스트

0

279

2

리액트 서버 실행 오류

0

1156

2

오류메세지는 확인했는데 어떻게 고쳐야 할지 모르겠습니다 ㅠ

0

298

1

creactStore질문이요

1

284

2