Node.js에서 파일 읽고 → DB 저장하고 → 이메일 보내는 코드를 작성했는데 콜백이 5단계나 중첩됩니다. 가독성이 너무 안 좋은데 어떻게 해결하나요?
콜백 지옥 → Promise → async/await 순으로 진화합니다:
// ❌ 콜백 지옥readFile(path, (err, data) => { saveDB(data, (err, result) => { sendEmail(result, (err, res) => { console.log("완료") }) })})// ✅ Promise 체인readFile(path) .then(data => saveDB(data)) .then(result => sendEmail(result)) .then(() => console.log("완료")) .catch(err => console.error(err))// ✅✅ async/await (가장 권장)async function process() { try { const data = await readFile(path) const result = await saveDB(data) await sendEmail(result) console.log("완료") } catch (err) { console.error(err) }}
async/await가 가장 읽기 쉽고 에러 처리도 try/catch로 깔끔합니다.
댓글 4
콜백 지옥 → Promise → async/await 순으로 진화합니다:
async/await가 가장 읽기 쉽고 에러 처리도 try/catch로 깔끔합니다.