async와 await에 대하여

채무·2024년 2월 2일

Web

목록 보기
9/11


async

async는 asynchronous의 줄임말로 비동기를 의미한다

  • async는 함수 안에 비동기적으로 실행될 부분이 있음을 의미한다

await

await은 프로미스 객체를 리턴하는 코드 앞에 붙어서 프로미스 객체가 리턴될 때(Promise 객체의 상태가 fulfilled 혹은 rejected 되는 때)까지 기다리는 역할을 한다

  • await이 붙은 코드의 Promise 객체가 리턴된 이후 다음 줄의 코드가 실행된다

async 함수가 리턴하는 Promise 객체

1) Promise 객체를 리턴하는 경우

  • Promise 객체와 동일한 상태와 작업 성공 결과를 가진 Promise 객체를 리턴한다
  • (그냥 해당 Promise 객체를 리턴한다)

2) Promise 객체 이외의 값을 리턴하는 경우

  • 숫자, 문자열, 일반 객체 등을 리턴하는 경우이다
  • fulfilled 상태이면서, 리턴된 값을 작업 성공 결과로 가진 Promise 객체를 리턴한다

3) 아무 값도 리턴하지 않는 경우

  • fulfilled 상태이면서, undefined를 작업 성공 결과로 가진 Promise 객체를 리턴한다

4) async 함수 내부에서 에러가 발생했을 때

  • rejected 상태이면서, 해당 에러 객체를 작업 실패 결과로 가진 Promise 객체를 리턴한다
profile
개발한 기발자

0개의 댓글