노마드코더 유튜브 클론 챌린지 11일차 TIL
DB가 응답하면 callback함수를 호출하는 방식
export const home = (req, res) => { Item.find({}, (error, items) => { return res.render("home", { pageTitle: "Home", items }); }); };
실행이 순차적으로 이루어지지 않는다. (callback함수 호출되기 전에 그 이후에 있는 코드가 실행될 수 있음)
✅ 여기서 return은 find함수를 마무리하는 역할을 할 뿐 home함수에 대해 어떠한 것도 return하지 않는다.
await구문에서 자바스크립트는 DB로부터 응답이 올 때까지 기다리고, 응답이 오면 그 다음 코드를 실행하는 방식export const home = async (req, res) => { const items = await Item.find({}); return res.render("home", { pageTitle: "Home", items}); };
순차적으로 코드가 진행되어 직관적이다.
✅ await을 사용할 때는 함수 앞에 async를 꼭 붙여줘야 한다.
아 async, await... 이런거였니