JavaScript&TypeScript

[JS] Promise

5kiran 2023. 2. 12.
반응형

Promise

Promise는 자바스크립트에서 비동기적인 작업을 처리하기 위한 객체입니다. Promise는 비동기 작업의 결과를 나타내는 객체로서, 작업이 성공하면 성공한 결과를, 실패하면 실패한 이유를 반환합니다.

Promise 객체는 대기(pending), 이행(fulfilled), 거부(rejected) 세 가지 상태를 가집니다. 대기 상태는 작업이 아직 수행되지 않은 상태이며, 이행 상태는 작업이 성공적으로 수행된 상태이며, 거부 상태는 작업이 실패한 상태입니다.

Promise 객체는 주로 비동기 작업을 처리할 때 사용됩니다. 비동기 작업을 수행하고, 작업이 완료되면 Promise 객체를 반환합니다. 그리고 이후에 해당 Promise 객체의 상태를 확인하여 작업의 성공 여부를 판단합니다.

Promise 객체는 다음과 같이 생성할 수 있습니다.

 

const promise = new Promise((resolve, reject) => {
  // 비동기 작업 수행
  // 작업이 성공하면 resolve()를 호출하고 결과를 전달
  // 작업이 실패하면 reject()를 호출하고 실패 이유를 전달
});

resolve()와 reject()는 Promise 객체의 상태를 변경하는 메소드입니다. resolve()는 Promise 객체를 이행(fulfilled) 상태로 변경하고, reject()는 Promise 객체를 거부(rejected) 상태로 변경합니다.

Promise 객체는 then() 메소드와 catch() 메소드를 사용하여 결과를 처리합니다. then() 메소드는 Promise 객체가 성공적으로 이행(fulfilled)되면 호출되며, 결과를 인자로 전달받습니다. catch() 메소드는 Promise 객체가 거부(rejected)되면 호출되며, 실패 이유를 인자로 전달받습니다.

promise.then((result) => {
  // 이행 상태일 때 처리할 작업
}).catch((error) => {
  // 거부 상태일 때 처리할 작업
});

 

Promise 객체를 이용하면 비동기 작업을 간편하게 처리할 수 있습니다.

반응형

'JavaScript&TypeScript' 카테고리의 다른 글

[JS] Arrow Function(화살표 함수)  (0) 2023.04.06
[JS] Hoisting  (0) 2023.02.17
[JS] var, let, const  (0) 2023.02.07
TypeScript 과제  (0) 2023.01.30
TypeScript Generic 사용해보기  (0) 2023.01.27

댓글