[typescript] `async/await` 키워드를 사용하여 프로미스 체이닝을 어떻게 더 쉽게 작성할 수 있나요?

프로미스는 자바스크립트에서 비동기 작업을 처리하는 데 사용됩니다. async/await 키워드를 사용하면 프로미스를 더 쉽게 다룰 수 있습니다.

async 함수 선언

async 키워드를 사용하여 함수를 선언하면 해당 함수는 항상 프로미스를 반환합니다. 이렇게 하면 일반적인 비동기 코드를 작성할 때 프로미스를 직접 다루는 것보다 더 편리하게 작성할 수 있습니다.

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

위 코드에서 fetchData 함수는 프로미스를 반환합니다.

await 키워드

await 키워드를 사용하면 프로미스가 settle될 때까지 기다린 후 결괏값을 얻을 수 있습니다. 비동기 작업을 수행하는 부분에서 await 키워드를 사용하면 다음 작업으로 넘어가기 전에 해당 작업이 모두 완료될 때까지 기다립니다.

async function processData() {
  const data = await fetchData();
  return data.json();
}

위 코드에서 processData 함수는 fetchData 함수가 반환한 프로미스가 settle될 때까지 기다린 후 그 결과를 JSON으로 파싱하여 반환합니다.

에러 핸들링

async/await를 사용할 때 에러 핸들링도 간편해집니다. try...catch 블록을 사용하여 에러를 쉽게 처리할 수 있습니다.

async function fetchData() {
  try {
    return await fetch('https://api.example.com/data');
  } catch (error) {
    // 에러 처리
  }
}

async/await를 사용하면 프로미스 체이닝을 더 간편하게 작성할 수 있습니다. await 키워드를 사용하면 비동기 코드를 동기적으로 작성할 수 있고, 에러 핸들링도 더욱 간단해집니다.

참고 문헌: Mozilla Developer Network