Front-end/JavaScript

자바스크립트 Promise 와 async / await

NiceKHJ 2024. 8. 1. 18:27

 

1. Promise 란 ?

Promise 는 비동기 작업의 완료 또는 실패를 나타내는 객체 입니다. 
Promise 는 세 가지 상태를 가질 수 있습니다.

  • 대기(Pending) : 작업이 진행 중인 상태
  • 이행(Fulfilled) : 작업이 성공적으로 완료된 상태
  • 거부(Rejected) : 작업이 실패한 상태

 

 

2. async / await 란 ?

asyncawaitPromise 를 보다 직관적으로 사용할 수 있게 해주는 구문입니다.

 

async

  • async 키워드를 함수 앞에 붙이면 그 함수는 항상 Promise를 반환합니다.

 

await

  • await 키워드는 Promise 가 해결될 때까지 기다립니다.
  • await 는 반드시 async 함수 내에서만 사용해야 합니다.

 

 

3. async / await 와 Promise의 관계

  • async 함수는 항상 Promise 를 반환하므로 함수 안에서 await 를 사용하여 비동기 작업의 결과를 쉽게 처리할 수 있습니다.
  • awaitPromise 가 해결될 때까지 코드의 실행을 일시 정지시키고 Promise 가 이행되면 그 값을 반환합니다.

 

 

Promise 는 비동기 작업의 결과를 처리하기 위한 객체이며 asyncawait 는 이 Promise 를 보다 쉽게 사용할 수 있도록 도와주는 구문입니다. async 는 함수를 Promise 로 만들고 await 는 그 Promise 의 완료를 기다립니다.