학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 6 · 실전 면접 답변

콜백 함수는 무엇이며 중첩된 비동기 코드를 어떻게 정리할까요?

이렇게 답해 보세요 (핵심 답변)

콜백 함수는 다른 함수에 인자로 전달되어 특정 시점이나 조건에서 호출되도록 실행을 위임하는 함수입니다. 배열의 map이나 forEach처럼 즉시 실행되는 동기 콜백도 있으므로 콜백 자체가 곧 비동기를 뜻하지는 않습니다. 비동기 작업이 깊게 중첩되면 읽기 어렵고 에러 처리가 흩어지기 쉬운데, 이때 작업 단위로 함수를 분리하고 Promise 체인이나 async/await를 사용하면 실행 순서와 실패 처리 경로를 한눈에 보이도록 정리할 수 있습니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. Promise 체인에서는 각 단계가 다음 작업의 Promise나 값을 반환해야 완료 시점과 에러가 끝까지 올바르게 전달됩니다.
  2. 클릭 이벤트처럼 여러 번 반복해서 호출되는 콜백과 단 한 번만 결과가 결정되는 Promise는 수명 모델이 다릅니다.

면접에서 자주 하는 실수

모든 콜백 기반 API를 무조건 Promise로 감싸는 것이 항상 좋은 것은 아니며, 여러 번 발생하는 이벤트에는 콜백이나 스트림이 더 적합합니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 6번을 바탕으로 질문과 답변을 새로 정리했습니다.

← JavaScript