Programming/JavaScript

JavaScript Promise에 대해서

d-e-v-j 2024. 11. 9. 09:20
반응형

 

JavaScript 의 Promise는  비동기 작업의 완료, 실패를 나타내는 객체이다.

 

Promise의 상태

  1. 대기(pending): 초기 상태, 이행도 거부도 되지 않은 상태
  2. 이행(fulfilled): 비동기 작업이 성공적으로 완료된 상태
  3. 거부(rejected): 비동기 작업이 실패한 상태

 

Promise의 기본 사용법

const myPromise = new Promise((resolve, reject) => {
    // 비동기 작업 수행
    let success = true; // 예를 위한 조건

    if (success) {
        resolve("작업 성공");
    } else {
        reject("작업 실패");
    }
});

 

Promise의 메서드

  1. then() : Promise 가 이행되었을 때 호출되는 메서드
  2. catch() : Promise가 거부되었을 때 호출되는 메서드
  3. finally() : Promise의 이행여부와 상관없이 항상 호출되는 메서드

사용예시

myPromise
    .then(result => {
        console.log(result); // "작업 성공"
    })
    .catch(error => {
        console.error(error); // "작업 실패"
    })
    .finally(() => {
        console.log("작업 완료");
    });

 

Promise 체이닝

Promise 는 체이닝이 가능하여, 여러 비동기 작업을 순차적으로 수행할 수 있다.

myPromise
    .then(result => {
        console.log(result);
        return anotherPromise; // 다음 Promise 반환
    })
    .then(anotherResult => {
        console.log(anotherResult);
    })
    .catch(error => {
        console.error(error);
    });

 

이처럼 Promise 를 이용하면 비동기 코드를 더 간결하고 쉽게 작성할 수 있다.

728x90
반응형
LIST