Promise
Promise 객체는 JavaScript에서 비동기 연산이 완료될 때까지 기다리지 않고, 그 연산이 완료된 후에 어떤 동작을 실행할지를 정의할 수 있게 해주는 객체입니다. Promise 객체는 비동기 작업의 최종 완료(또는 실패)와 그 결과 값을 나타냅니다.
상태
Promise 객체는 3가지 상태를 가질 수 있습니다.
Pending(대기 중): 초기 상태, 이행 또는 거부되지 않음.
Fulfilled(이행): 연산이 성공적으로 완료됨.
Rejected(거부): 연산이 실패함.
메서드
Promise 객체는 주로 다음과 같은 메서드를 사용합니다.
then(): Promise가 이행될 때 호출할 함수를 등록합니다.
catch(): Promise가 거부될 때 호출할 함수를 등록합니다.
finally(): Promise가 이행되거나 거부될 때 호출할 함수를 등록합니다.
다음은 Promise의 간단한 예시입니다.
const promise = new Promise((resolve, reject) => {
const success = true;
if(success) {
resolve('작업이 성공적으로 완료되었습니다.');
} else {
reject('작업이 실패하였습니다.');
}
});
promise
.then((message) => {
console.log(message); // '작업이 성공적으로 완료되었습니다.'
})
.catch((message) => {
console.error(message);
});
연결(Chaining)
Promise의 메서드들은 새로운 Promise 객체를 반환하므로, 여러 개의 then, catch, finally를 연결하여 사용할 수 있습니다. 이를 통해 비동기 작업의 결과를 쉽게 체이닝할 수 있습니다.
따라서, Promise 객체는 비동기 작업을 더 효과적이고 깔끔하게 처리할 수 있게 해주며, 비동기 로직을 순차적이고 이해하기 쉬운 방식으로 구성할 수 있게 도와줍니다.
'Programming' 카테고리의 다른 글
[TIL] useEffect (1) | 2023.09.30 |
---|---|
[TIL] Event Loop (0) | 2023.09.28 |
[회고] 항해99 부트캠프 후기 (5) | 2023.09.18 |
[WIL] 행동대장 프로젝트 5주차 회고 (0) | 2023.09.17 |
[TIL] React Compound Components Pattern (design pettern) (1) | 2023.09.14 |