관리 메뉴

Rootable의 개발일기

Promise 본문

React

Promise

dev-rootable 2024. 3. 11. 17:56

📌 Promise 객체란?

 

React에서 비동기 처리에 활용되는 객체로
주로 웹 서비스를 구현할 때 원활한 데이터 통신을 위해 활용된다.

 

웹 페이지에서 서버로 데이터를 요청했을 때, 데이터를 모두 받기 전에 웹에 출력하려고 하는 경우를 방지하기 위해 활용된다.

 

Promise는 비동기 작업으로 인한 성공 또는 실패와 그 결과 값을 나타낸다. 여기서 결과 값은 최종 결과가 아닌 미래의 어떤 시점에 결과를 제공하겠다는 약속(프로미스)을 반환한다.

 

비동기 로직을 마치 동기 로직처럼 사용할 수 있는 기능을 가졌다.

 

비동기 연산이 종료된 이후에 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있다.

 

📌 상태

 

 

  • Pending(대기) : 비동기 로직 처리의 미완료 상태
  • Fulfilled(이행) : 비동기 로직 처리가 완료된 상태로 Promise 결과값 반환 상태
  • Rejected(실패) : 비동기 로직 처리의 실패 또는 오류 상태

 

new Promise();
new Promise((resolve, reject) => {});

 

Promise 객체를 생성하면 대기(pending) 상태가 된다. 인자는 resolve(실행)과 reject(실패)를 가진다.

 

function app() {
    return new Promise((resolve, reject) => {
        let data = 10;
        resolve(data);
    })
}

app().then((result) => console.log(result));

 

resolve에 파라미터를 넣어주면 Promise가 이행 상태로 넘어간다. 이후 then()을 활용하면 결과 값을 받을 수 있다.

 

function app() {
    return new Promise((resolve, reject) => {
        resolve(new Error("Rejected"));
    })
}

app().catch((error) => console.log(error));

 

reject 인자는 호출 시 실패 상태가 된다. 이후 catch()를 활용하면 결과값을 받고 예외를 확인할 수 있다.

 

References:

 

https://narup.tistory.com/215

 

[React] Promise란?

1. Promise란? React에서 Promise는 비동기 처리에 활용되는 객체입니다. Promise는 주로 웹 서비스를 구현할 떄 원활한 데이터 통신을 위해 활용됩니다. 웹 페이지에서 서버로 데이터를 요청했을 때, 데

narup.tistory.com

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise

 

Promise - JavaScript | MDN

Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.

developer.mozilla.org

 

'React' 카테고리의 다른 글

React의 생명주기  (0) 2024.03.14
Hooks  (0) 2024.03.14
Suspense와 lazy  (0) 2024.03.11
React 용어  (0) 2024.03.11
Fetch와 Axios  (0) 2024.01.20