JavaScript

[JavaScript] async_await

FRDYtheme 2022. 12. 28. 17:46

프로미스를 쉽게 사용할 수 있게 만든 비동기 함수로 일반 함수 앞에 async를 붙이면 해당 함수를 프로미스로 반환한다.

  async function isAsync() {
    return "프로미스로 반환됩니다"
  }
  isAsync().then(alert); // "프로미스로 반환됩니다"

 

await

await는 async 함수 내에서만 작동하며 Promise가 처리될 때까지 기다렸다가 구문을 실행한다.

async function isAsync() {
  const isPromise = new Promise((res, rej) =>
  // new Promise로 promise 함수 호출
    setTimeout(() => { // 3초 딜레이 후 resolve 값 반환.
      res("3초 기다렸다가 출력.");
    }, 3000)
  );
  const result = await isPromise;
  // promise가 진행되는 3초간 대기 후 result에 resolve 값 전달
  alert(result);
}

isAsync(); // "3초 기다렸다가 출력"