async와 await는 자바스크립트에 가장 최근 도입된 비동기 처리방식이다.
기존의 비동기 처리방식인 콜백 함수와 프로미스의 단점을 보완했으며 가독성 높은 코드를 작성할 수 있다.
const { default: axios } = require("axios");
async function getTop20Movies(){
const url ="http://raw.githubusercontent.com/wapj/jsbackend/main/movieinfo.json";
try{
//네트워크에서 데이터를 받아오므로 await로 기다림
const result = await axios.get(url);
const {data} = result;
if(!data.articleList || data.articleList.size === 0){
throw new Error("데이터가 없습니다.");
}
// const movieInfo = data.articleList.map((article,idx)=>{
// return {title: article.title, rank : idx+1}
// })
// movieInfo.forEach((a,i)=>{
// console.log(`${a.rank}위 ${a.title}`)
// })
data.articleList.forEach((a,i)=>{
console.log(`${i+1}위 ${a.title}`)
})
}
catch (err) {
throw new Error(err)
}
}
getTop20Movies();