← Back to NOTES 🌰 ← Effective JavaScript 🤿

← 아이템 67 - 비동기 콜백을 절대 동기적으로 호출하지 마라

핵심 요약

자세한 내용

콜백 기반 API vs Promise 기반 API

앞선 비동기 API의 예제에서는 콜백을 인자로 받아오는 방식을 소개했다.

대조적으로 Promise 기반의 API는 콜백을 인자로 받아들이지 않는다. 대신 Promise 객체를 반환하고, 그 객체 자신의 then 메서드로 콜백을 받아들인다.

Promise의 힘: 구성력(Composability)

then에 전달된 콜백은 기존 콜백을 인자로 받아오는 방식과 같이 실행도 가능하지만, 새로운 Promise 객체를 결과로 만들어내는 데도 쓰인다는 점에서 그 힘은 구성력(구성 가능성)에 있다.

Promise를 이해하는 방법

아직 완료되지 않았을 수도 있는 동시 연산을 감싸고 있지만, 결국은 결과 값을 만들어내니까 → 최종적인 값을 표현하는 객체라고 생각하기.

Promise의 장점

1. 콜백 버그 방지