[typescript] async와 await 키워드의 역할

JavaScript와 마찬가지로 TypeScript에서도 asyncawait 키워드를 사용하여 비동기 작업을 다룰 수 있습니다. async 키워드를 함수 앞에 붙이면 그 함수는 항상 Promise를 반환하게 됩니다. 반면에 await 키워드는 Promise 객체를 기다렸다가 그 결과를 받아올 때까지 함수의 실행을 일시 중지시킵니다.

async 함수

async function fetchData() {
  // 비동기 작업 수행
  return await fetch('https://api.example.com/data');
}

위 예제에서 fetchData 함수는 항상 Promise를 반환하며, await 키워드를 사용하여 fetch 함수의 결과를 기다립니다.

await 키워드

await 키워드는 Promise가 완료될 때까지 함수의 실행을 일시 중지하고, 그 결과를 받아옵니다.

async function getData() {
  let response = await fetchData();
  let data = await response.json();
  console.log(data);
}

위 예제에서 fetchData 함수를 호출하여 Promise를 받아오고, response.json() 역시 Promise를 반환하므로 await를 사용하여 데이터를 받아옵니다.

asyncawait 키워드를 사용하면 Promise를 반환하거나 Promise의 결과를 기다리는 과정을 보다 간단하게 표현할 수 있습니다.

이와 같이 asyncawait 키워드는 TypeScript에서 비동기 작업을 보다 간편하게 다룰 수 있도록 도와줍니다.

참고 자료