[javascript] Promise의 상태(State)와 상태 변화
Promise는 JavaScript에서 비동기 작업을 처리할 때 사용되는 객체입니다. Promise는 세 가지 상태를 가지고 있으며, 상태를 변화시킬 때마다 콜백 함수를 호출할 수 있습니다.
Promise의 세 가지 상태
- 대기(pending): Promise가 생성되고, 아직 결정되지 않은 상태입니다.
- 이행(fulfilled): Promise가 성공적으로 완료되어 결과 값을 반환한 상태입니다.
- 거부(rejected): Promise가 실패한 상태로, 오류 정보를 반환합니다.
Promise는 대기 상태에서 시작하여 이행 또는 거부 상태로 변경됩니다.
상태 변화 처리
Promise가 상태를 변화시킬 때마다 다음과 같은 메소드를 사용하여 처리할 수 있습니다.
-
then(): Promise가 이행된 경우 호출될 콜백을 등록합니다.
promise.then(onFulfilled, onRejected)
-
catch(): Promise가 거부된 경우 호출될 콜백을 등록합니다.
promise.catch(onRejected)
-
finally(): Promise가 이행되거나 거부된 경우 호출될 콜백을 등록합니다.
promise.finally(onFinally)
이러한 메소드를 사용하여 Promise의 상태 변화를 모니터링하고 적절히 처리할 수 있습니다.
JavaScript에서 Promise는 비동기 처리를 보다 효율적으로 다룰 수 있게 해주는 강력한 도구입니다.