자바스크립트 엔진은 코드를 위 → 아래로 동기적으로 실행한다. 단일 스레드에서 여러 태스크들이 순차적으로 실행 → 오래 걸리는 작업이 있을 경우 후속 작업들이 밀리는 문제 → 비동기로 문제를 해결
Promise 가 콜백 지옥을 해결할 수 있는 방법이라는 건 알고 있었지만, 비동기 작업을 감싸는 객체인 건 처음 알았다. 비동기 작업 실행, 상태 관리, 결과 저장 , .. 등 비동기 관련 모든 작업들을 담당한다.
<Promise 3가지 상태>
Pending | Fullfilled | Rejected |
---|---|---|
대기 | 성공 | 실패 |
resolve (해결) | reject (거절) |
<async - await>
비동기 - 콜백 지옥 - Promise - async-await → 문제-해결의 하나의 큰 흐름에 있는 거 같아, 도식화해봄