[typescript] 타입스크립트에서 에러 핸들링을 위한 `try/catch` 문을 프로미스 체이닝에 어떻게 적용할 수 있나요?
async function fetchData(): Promise<any> {
const url = 'https://api.example.com/data';
try {
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.error('에러 발생:', error);
throw error; // 에러를 다시 던져서 상위 호출자에게 전파
}
}
// fetchData 함수를 사용하는 예시
fetchData()
.then((data) => {
// 성공적으로 데이터를 받아왔을 때의 처리
})
.catch((error) => {
// fetchData 함수 내에서 발생한 에러를 처리
});
위의 예시 코드에서 fetchData
함수는 데이터를 가져오는 비동기 작업을 수행하고, try/catch
문을 사용하여 에러를 캐치하고 처리합니다. 그리고 fetchData
함수를 호출할 때 then()
과 catch()
를 통해 성공 및 실패 시의 처리를 할 수 있습니다.
이와 같은 방식으로 타입스크립트에서 try/catch
문을 프로미스 체이닝에 적용할 수 있습니다.