[typescript] async/await 사용 시 에러 처리 방법

TypeScript는 JavaScript에 비동기 처리를 간단하게 할 수 있는 asyncawait 키워드를 제공합니다. 비동기 작업을 수행할 때 에러 처리는 중요한 부분입니다. 이 글에서는 TypeScript에서 async/await를 사용할 때 에러를 적절히 처리하는 방법을 살펴보겠습니다.

async/await 사용하기

async/await는 Promise 기반의 비동기 코드를 작성하는 데 도움이 됩니다.

async function fetchData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  return data;
}

// 함수 호출
fetchData().then(data => {
  console.log(data);
}).catch(error => {
  console.error(error);
});

위의 예제에서 fetchData 함수는 async 키워드로 정의되어 있고, 내부에서 await를 사용하여 비동기 작업을 수행합니다. 그리고 함수를 호출할 때 .then().catch()을 사용하여 에러 처리를 할 수 있습니다.

에러 처리하기

async/await를 사용할 때 에러 처리는 try...catch문으로 처리할 수 있습니다.

async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    return data;
  } catch (error) {
    console.error('에러 발생: ', error);
    throw error;
  }
}

// 함수 호출
fetchData()
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error('에러 처리: ', error);
  });

위의 예제에서 fetchData 함수 내부에서 try...catch문을 사용하여 에러를 처리하고, throw를 사용하여 에러를 다시 던집니다. 호출하는 부분에서는 .then().catch()을 사용하여 에러를 처리합니다.

정리

TypeScript에서 async/await를 사용하여 비동기 작업을 처리할 때, 에러 처리는 중요한 부분입니다. try...catch문을 사용하여 비동기 작업 중 발생한 에러를 적절히 처리하고, 호출 부분에서 .then().catch()을 사용하여 에러를 처리할 수 있습니다.