[typescript] 비동기 작업에 대한 에러 처리 방법

비동기 작업을 하는 동안 발생하는 에러를 처리하는 것은 프론트엔드 및 백엔드 개발에서 매우 중요합니다. TypeScript에서는 다양한 방법을 통해 비동기 작업에서 발생하는 에러를 처리할 수 있습니다. 이 글에서는 프로미스, async/await, 그리고 콜백 함수를 사용하는 경우의 에러 처리 방법을 살펴보겠습니다.

프로미스를 사용하는 경우

프로미스를 사용하여 비동기 작업을 처리할 때, .catch 메서드를 사용하여 에러를 처리할 수 있습니다.

fetchData()
  .then((data) => {
    // 데이터 처리 로직
  })
  .catch((error) => {
    console.error('에러 발생:', error);
  });

async/await를 사용하는 경우

async/await를 사용하여 비동기 작업을 처리할 때는 try/catch 블록을 사용하여 에러를 처리할 수 있습니다.

async function fetchData() {
  try {
    const data = await fetchDataFromAPI();
    // 데이터 처리 로직
  } catch (error) {
    console.error('에러 발생:', error);
  }
}

콜백 함수를 사용하는 경우

콜백 함수를 사용하여 비동기 작업을 처리할 때는 에러 파라미터를 활용하여 에러를 처리할 수 있습니다.

function fetchData(callback: (error: Error | null, data: any) => void) {
  // 비동기 작업 수행
  if (error) {
    callback(new Error('에러 발생'), null);
  } else {
    callback(null, data);
  }
}

fetchData((error, data) => {
  if (error) {
    console.error('에러 발생:', error);
  } else {
    // 데이터 처리 로직
  }
});

마무리

실제 프로젝트에서는 다양한 비동기 작업을 처리해야 하므로, 각 상황에 맞게 적절한 에러 처리 방법을 선택하는 것이 중요합니다. 프로미스, async/await, 콜백 함수를 사용하는 경우 각각에 맞는 에러 처리 방법을 숙지하여 안정적인 코드를 작성할 수 있도록 노력해야 합니다.

참고 자료:

이상으로 TypeScript에서 비동기 작업에 대한 에러 처리 방법에 대해 알아보았습니다. 감사합니다!