Skip to content
On this page

async, await

async 함수는 Promise 인스턴스를 반환합니다.

async 함수를 호출하여 연산 중간에 await 키워드를 만나면 await 뒤에 있는 Promise 인스턴스가 settle 될 때까지 해당 함수의 실행은 중지되는데,

중지된다고 해서 전체 코드의 실행이 멈춘다는 의미가 절대 아닙니다!!

async 함수가 중지되면 해당 함수를 호출했던 context로 pending Promise를 반환하여 기존 로직을 다시 실행합니다.

그러다가 중간에 async 함수 내의 await 문에서 settle 된다면 다시 async 함수의 실행을 재개합니다.

즉, await 문에서 코드 실행 flow가 2가지로 나뉘는 것으로도 이해할 수 있습니다.