비동기 처리 과정에서 순서를 정해주지 않아 생긴 문제
getPlayMovie(30)
.then((data) => {
playMovies = data;
updatePlayCardContent();
});
getPlayMovie
라는 함수를 비동기 처리하여 updatePlayCardContent
라는 콜백을 실행 시키는데const isLoggedIn = auth.currentUser ? true : false;
let favoriteIcon = card.querySelector(".favorite");
if (favoriteIcon) {
card.removeChild(favoriteIcon);
}
if (isLoggedIn) {
favoriteIcon = createFavoriteIcon(movie.id);
card.appendChild(favoriteIcon);
}
getPlayMovie(30).then((data) => {
setTimeout(() => {
playMovies = data;
updatePlayCardContent();
}, 500);
});
setTimeout
을 걸어 딜레이를 줬음.onAuthStateChanged(auth, () => {
getPlayMovie(30).then((data) => {
playMovies = data;
updatePlayCardContent();
});
});
onAuthStateChanged
를 사용해 개선.getPlayMovie
가 실행되도록 함.