async/await

daybyday·2021년 10월 17일
0

Javascript

목록 보기
15/15

async function

함수 앞에 async 키워드를 붙이면 그 함수는 Promise를 반환한다.

명시적으로 Promise를 반환하지 않아도, resolved promise로 값을 감싸 이행된 promise가 반환된다.

async function f() {
  return 1;
}

f().then(alert); // 1

await

promise가 이행될 때까지 실행이 잠시 중단되게 만든다.

async function f() {

  let promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve("완료!"), 1000)
  });

  let result = await promise; // 프라미스가 이행될 때까지 기다림 (*)

  alert(result); // "완료!"
}

f();

일반 함수에서는 await를 쓸 수 없다. 꼭 async 함수 안에서만 사용해야한다.

0개의 댓글