diff --git a/week2/main.js b/week2/main.js new file mode 100644 index 0000000..f45616a --- /dev/null +++ b/week2/main.js @@ -0,0 +1,36 @@ +function pick(menus) { + console.log("Pick random menu!"); + const p = new Promise((resolve, reject) => { + if (menus.length === 0) { + reject(new Error("Need Candidates")); + } else { + setTimeout(() => { + const randomIdx = Math.floor(Math.random() * menus.length); + const selectedMenu = menus[randomIdx]; + // 여기에 코드를 작성하세요 + resolve(selectedMenu); + }, 1000); // 시간이 걸리는 걸 시뮬레이션하기 위한 1초입니다 + } + }); + return p; + } + + function getRandomMenu() { + return fetch("https://learn.codeit.kr/api/menus") + .then((response) => response.json()) + .then((result) => { + const menus = result; + return pick(menus); // ! random pick function + }); + } + + getRandomMenu() + .then((menu) => { + console.log(`Today's lunch is ${menu.name} ~`); + }) + .catch((error) => { + console.log(error.message); + }) + .finally(() => { + console.log("Random Menu candidates change everyday"); + }); \ No newline at end of file