목차

1. Promise

Promise의 등장 이유?

Untitled

아래와 같은 요구사항을 해결하려다 보면 어느순간 콜백헬이 만들어져 있는 경우가 많습니다.

프로그래밍의 기원 자체가 비효율적인 작업을 효율적으로 해결하기 위함이었던 것 처럼, 수많은 프로그래머들은 그렇다면 어떻게 이 상황을 효율적으로 처리할 수 있을까? 라는 고민을 했고, 그 결과 promise를 통해 콜백 헬 문제를 보다 더 쉽게 해결할 수 있게 되었습니다.

Promise 이해하기

자기 자신을 아주 유명한 가수라고 가정해 봅시다. 그리고 밤낮으로 다음 싱글 앨범이 언제 나오는지 물어보는 팬들을 상대해야 한다고 해봅시다! (아이유! 아이유! 아이유!)

우리는 앨범이 출시되면 팬들이 자동으로 소식을 받아볼 수 있도록 하는 프로그램을 만들어서 피로를 덜 겁니다. 구독 리스트를 하나 만들어 팬들에게 전달해 이메일 주소를 적게 하고, 앨범이 준비되면 리스트에 있는 팬들에게 메일을 보내 앨범 관련 소식을 바로 받아볼 수 있게 하는 식으로 말이죠. 이렇게 하면 앨범이 출시되면 앨범 출시 소식을 팬들에게 바로 전할 수 있고, 설령 녹음 스튜디오에 화재가 발생해서 출시 예정인 앨범이 취소되는 불상사가 발생해도 관련 소식까지 팬들에게 전달 할 수 있습니다.

  1. **'제작 코드(producing code)'**는 '원격에서 스크립트를 불러오는 것' 같이 시간이 걸리는 일을 합니다. 위 비유에선 **'가수'**가 제작 코드에 해당합니다.