Promise란?

Promise비동기 작업의 완료 또는 실패를 나타내는 객체입니다.

비동기 코드의 실행 흐름을 더 쉽게 관리하고, 콜백 지옥(Callback Hell)을 방지하는 데 사용됩니다.


Promise의 상태

Promise는 다음 세 가지 상태를 가집니다.

상태 설명
대기(pending) 초기 상태, 아직 완료되지 않음
이행(fulfilled) 작업이 성공적으로 완료됨
거부(rejected) 작업이 실패함

Promise 생성 및 사용법

const promise = new Promise((resolve, reject) => {
    setTimeout(() => {
        const success = Math.random() > 0.5; // 랜덤 성공/실패
        success ? resolve('작업 성공') : reject('작업 실패');
    }, 1000);
});

promise
    .then(result => console.log(result))  // 성공 시 실행
    .catch(error => console.log(error))   // 실패 시 실행
    .finally(() => console.log('완료')); // 항상 실행

Promise 체이닝 (Chaining)

Promise는 여러 개를 연결하여 비동기 작업을 순차적으로 실행할 수 있습니다.