본문 바로가기

ReactJS로 영화 웹 서비스 만들기

fetch.then()을 async, await로 변환하기

* 1번 코드 [ fetch, then() ]를 2번 코드[ async, await ]로 변환하기

 

import './App.css';
import { useEffect, useState } from 'react';

function App() {
  const [loading, setLoading] = useState(true);
  const [movie, setMovies] = useState([])
  const getMovie = async() => {

1번 아래코드------------------------------------------------------------------------   
    fetch( `https://yts.mx/api/v2/list_movies.json?minimum_rating=8.8&sort_by=year`)
    .then(response => response.json())  << # 1
    .then(json => {                     << # 2
      setMovies(json.data.movies)
      setLoading(false);
      

2번 아래코드-----------------------------------------------------------------------
설명 : 함수의 parameter로 들어가는 값을 상수(const)로 설정해주면 됨
       위의 1번 코드에서 #1번에 해당하는 parameter(여기서는 response)를 
       아래와 같이 상수로 설정하고, 뒤에 await fetch 이어서 작성하면 됨
       
       #2도 마찬가지로, parameter로 들어가는 값(여기서는 json)을 상수로 지정해주고,
       await response.json()작성하면 됨

    const response = await fetch( `https://yts.mx/api/v2/list_movies.json?minimum_rating=8.8&sort_by=year`)
    const json = await response.json();
    setMovies(json.data.movies)
    setLoading(false);
    })
  }
  
  useEffect(() => {
      getMovie();
  }, [])
  console.log(movie);
  return (
    <div>
    {loading ? <h2>Loading...</h2> : null }
    </div>
  );
}

export default App;

'ReactJS로 영화 웹 서비스 만들기' 카테고리의 다른 글

map() 사용법  (0) 2022.10.25
# querySelector vs selectElementById  (0) 2022.06.15