[프론트엔드 면접] Promise와 Callback의 차이는?

else·2023년 9월 9일
1

CS

목록 보기
7/10

콜백 함수의 단점을 보완는 것이 Promise 이기에 callback 먼저 설명

Callback

  • 다른 함수의 인자로써 전달된 함수
  • 어떤 이벤트에 의해 호출되는 함수
  • 싱글 스레드 기반인 javascript는 병행 처리를 할 수 없는 문제를 해결하기 위해 등장
  • 콜백 지옥(콜백 함수가 겹쳐져 가독성이 떨어지는 콜백 함수)의 문제가 있음

Promise란

  • 비동기 작업의 완료 또는 실패와 그 결과값을 나타내는 객체(혹은 Event Emitter)
  • resolve(성공)와 reject(실패) 이벤트를 발생 시킨다.
  • Pending, Fulfilled, Rejected의 상태를 가짐

그래서 차이점은?

  • callback은 함수 밖에서 비동기에 대한 값을 알 수 없음
  • promise는 객체에 저장
    • 물론 .then()없이 쓰면 Promise 객체라고 밖에는 안뜨기에 .then()을 사용해야함
profile
피아노 -> 개발자

0개의 댓글