본문 바로가기

자바스크립트

[간단정리 js] promise "비동기 작업의 최종 완료 또는 실패를 나타내는 개체"

반응형

JavaScript Promise는 비동기 작업의 최종 완료 또는 실패를 나타내는 개체입니다. 콜백을 사용하는 것보다 더 읽기 쉽고 관리하기 쉬운 방식으로 비동기 코드를 처리하는 데 사용됩니다.

 

promise 는 약속이라는 의미를 가집니다. 

약속에는 세 가지 상태가 있습니다: 즉, 아래의 상태는 약속을 보류하였는지, 약속을 지켰는지(이행), 아니면 약속을 거절(거부) 했는지로 구분할 수 있습니다.

- Pending: 초기 상태, 이행되지 않았거나 거부되었습니다.
- Fulfilled: 작업이 성공적으로 완료되었습니다.
- Rejected: 작업이 실패했습니다.

Promise 는  .then() 및 .catch() 메서드와 함께 사용하여 비동기 작업의 결과를 처리할 수 있습니다.


다음은 Promise를 사용하여 API에서 데이터를 로드하는 예입니다:

fetch("https://api.example.com/data")
  .then(response => response.json()) //then 메서드는 프로미스가 이행된 결과를 반환합니다.
  .then(data => console.log(data))
  .catch(error => console.error(error)); //만일 프로미스가 거부되는 경우 그 결과를 반환합니다.


이 예에서 fetch()는 API 응답( response)으로 이행(Fulfilled)된 약속(Promise)을 반환합니다. .then() 메서드는 약속(Promise)이 이행(Fulfilled)되고 데이터를 기록할 때 호출됩니다.  약속(Promise)이 거부(Rejected)되고 오류(Error)가 기록되면 .catch() 메서드가 호출됩니다.

반응형