Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions week2/main.js
Original file line number Diff line number Diff line change
@@ -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");
});