[Javascript] Promise

min5x5·2024년 1월 8일

Javascript

목록 보기
3/4
post-thumbnail

Promise

: JavaScript에서 비동기 처리를 다루기 위한 객체

  • 주로 비동기 작업이 완료되었을 때 결과 값을 반환하거나 오류를 처리하는 데 사용된다.
  • 콜백 지옥(callback hell)과 같은 코드의 복잡성을 줄이고, 비동기 코드를 더 효율적으로 한다.
  • 여러 개의 비동기 작업을 조합하고 연결할 수 있어, 코드의 가독성을 높이고 유지보수를 용이하게 한다.
  • ES6부터 기본적으로 지원, 일반적으로 사용되는 비동기 작업 처리 패턴이다.

Promise는 세 가지 상태를 가진다.

  1. Pending: 초기 상태로, Promise가 이행되거나 거부되지 않은 상태
  2. Fulfilled: Promise가 성공적으로 완료되어 결과 값을 반환한 상태
  3. Rejected: Promise가 실패하거나 오류가 발생한 상태

사용예시

const myPromise = new Promise((resolve, reject) => {
  // 비동기 작업 수행
  // 작업이 완료되면 resolve로 성공, reject로 실패 전달
  if (/* 작업이 성공하면 */) {
    resolve("성공한 결과");
  } else {
    reject("작업 실패");
  }
});

// Promise 사용
myPromise
	// then은 프로미스가 이행되었을 때 호출되는 콜백을 등록
  .then(result => {
    console.log("성공:", result);
  })
  // catch는 프로미스가 거부되었을 때 호출되는 콜백을 등록
  .catch(error => {
    console.error("실패:", error);
  });
profile
삶에 변화를 만드는 개발자

0개의 댓글