fetch
함수를 이용하여 받은 데이터를 다른 객체로 저장
DOM
으로 접근 제어해서 브라우저에 출력
TypeError: movies.forEach is not a function
:them ~ catch
가 아닌 try ~ catch
문 사용fetch('https://api.themoviedb.org/3/movie/top_rated?language=en-US&page=1', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
async function getMovies() {
let movies
try {
movies = await fetch('https://api.themoviedb.org/3/movie/top_rated?language=en-US&page=1', options)
} catch (error) {
console.log(movies);
}
return movies.json()
}
TypeError: movies.forEach is not a function
오류async function renderMovies() {
let movies = await getMovies();
let html = '';
movies.forEach(x => {
let htmlSegment = `<div class="col">
<div class="card h-100">
<imgtoken interpolation">${x.id})" src="https://image.tmdb.org/t/p/w500${x.poster_path}"
<h5 class="card-title">${x.title}</h5>
<p class="card-text">${x.overview}</p>
<p class="average">${x.vote_average}</p>
</div>
</div>
</div>`;
html += htmlSegment;
});
let container = document.querySelector('#cards-box');
container.innerHTML = html;
}
let { results: movies } = await getMovies(); // 객체구조분해할당
해결
미해결(궁금한 부분)
ex) y.prePoster_path
개념을 만만하게 생각하면 안된다
객체, 배열을 헷갈려서 시간을 많이 잡아먹었다.
개념을 익힐 때 꼼꼼히 익혀야겠다