질문 8 · 실전 면접 답변
Promise는 콜백과 비교해 어떤 문제를 해결하나요?
이렇게 답해 보세요 (핵심 답변)
콜백은 다음 동작을 다른 함수에 직접 넘기는 방식이라 비동기 단계가 많아지면 들여쓰기가 깊어지고 에러 처리가 단계마다 파편화되기 쉽습니다. 반면 Promise는 비동기 작업의 결과를 일급 객체로 표준화하여, then과 catch 체인을 통해 반환값과 에러를 일관된 흐름으로 전달합니다. 덕분에 성공 경로와 실패 경로를 구조적으로 합성하고 추론하기가 훨씬 쉬워집니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- then 핸들러 안에서 값을 반환하거나 새 Promise를 반환하면 다음 체인 단계의 입력과 대기 상태가 자연스럽게 이어집니다.
- 콜백은 여러 번 호출될 수도 있지만 Promise는 단 한 번만 결정(settled)된다는 명확한 계약을 보장합니다.
면접에서 자주 하는 실수
Promise를 사용한다고 해서 내부적으로 콜백 메커니즘이 사라지거나 단일 스레드 작업이 자동으로 병렬 실행되는 것은 아닙니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 8번을 바탕으로 질문과 답변을 새로 정리했습니다.