더북(TheBook)

4.6.1.4 async와 await

asyncawait라는 키워드는 Promise를 더욱 쉽게 사용할 수 있게 해줍니다. 사용 예시를 한번 확인해볼까요?

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

async function process() {
  console.log('안녕하세요!');
  await sleep(1000); // 1초 쉬고
  console.log('반갑습니다!');
}

process();

출력 결과는 다음과 같습니다.

안녕하세요!
반갑습니다!

첫 번째 텍스트가 출력된 다음 1초 뒤에 두 번째 텍스트가 출력됩니다. 이 문법을 사용하려면 함수를 선언할 때 앞부분에 async 키워드를 붙이고, Promise의 앞부분에 await를 사용하면 됩니다. 그러면 then 또는 catch 없이도 쉽게 비동기 작업을 관리할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.