async와 await

async와 await라는 특별한 문법을 사용하면 프라미스를 좀 더 편하게 사용할 수 있습니다 async가 붙은 함수는 반드시 프라미스를 반환하고, 프라미스가 아닌 것은 프라미스로 감싸 반환합니다. async가 제공하는 기능은 이뿐만이 아닙니다. await는 async 함수 안에서만 동작합니다. 일반 함수엔 await을 사용할 수 없습니다.



function delay(ms) {
 return new Promise((resolve) => {
  setTimeout(resolve, ms);
  });
}

async function() {
 await delay(3000);
 return "hello async";
}

async function main() {
 const res = await helloAsync();
 console.log(res);
}

main();