본문 바로가기
JavaScript

[JS] async / awiat(Promise의 간결판!)

by 1two13 2023. 2. 20.
728x90
반응형
728x90
반응형

제목에서도 알 수 있듯이 async/await은 Promise를 조금 더 간결하고 동기적으로 실행되는 것처럼 보이게 만들어 준다. (그래서 async/await을 syntactic sugar라고도 한다.)

 

async


함수 앞에 async 키워드를 쓰면 자동적으로 함수 안의 코드 블럭이 Promise로 변환된다.

 

 

await


  • await은 반드시 async 함수 안에서만 유효하다. 
  • await 대상은 Promise를 반환하는 API 함수이다. 

 

await 키워드 뒤의 행동이 끝날때까지 기다려준다. 다시 말해, 비동기 작업이 끝날 때까지 기다렸다가 다음 문장 코드를 처리한다. 

 

 

 

async 함수 동작 방식


1. async 함수가 호출되어 await 키워드가 있는 비동기 작업이 실행되면 

2. await은 이벤트 루프를 통해 비동기로 작업을 처리한다. 

3. 그동안 async 함수는 비동기 작업이 완료될 때까지 일시 정지 상태로 비동기 작업의 해결(resolve)를 기다린다. 

4. await 작업이 완료되면 async 함수가 다시 실행되고, 함수 결과를 반환한다. 

 

 

 

 

728x90
반응형

댓글