Vanilla Javascript로 Promise 직접 구현하기

0. 들어가며

1. Promise란 대체 무엇인가 🧑🏻‍💻

✅ Promise는 state, result, 콜백 함수 배열들을 상태값으로 갖는 객체이다.

✅ Promise 후속 처리 메서드는 콜백함수 배열에 인자를 추가한다.

✅ resolve, reject 호출로 Promise 상태가 변화하면, 처리 결과를 인자로 콜백 함수 배열이 호출된다.

✅ Promise 후속처리 메서드는 항상 Promise를 반환하기 때문에 Promise 메서드 체이닝이 가능하다.

✅ Promise 후속처리 메서드에 등록한 콜백함수는 microtask queue에 등록되고, 이후 event loop에 의해 call stack으로 이동되어 실행된다.

✅ Promise는 이 외에도 다양한 static method들을 제공하여 간단히 비동기 후속 처리를 할 수 있도록 도와준다.

❇️ Promise 내부 동작 방식 정리

2. Promise가 해결한 문제 🔧

✅ Javascript의 비동기 처리 패턴은 왜 도입되었는가