[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 공식 문서 - 비동기 작업
- Mozilla Developer Network - JavaScript Promises: an Introduction
- Node.js 공식 문서 - Error Handling
이상으로 TypeScript에서 비동기 작업에 대한 에러 처리 방법에 대해 알아보았습니다. 감사합니다!