외부 API를 호출할 때 JavaScript 및 TypeScript의 비동기 기능을 최대한 활용하여 데이터를 효과적으로 가져오고 처리할 수 있습니다. async
및 await
를 사용하여 비동기 API 호출을 처리하는 방법을 살펴보겠습니다.
1. Axios를 사용하여 외부 API 호출하기
Axios는 간편한 API 호출을 위한 JavaScript 및 TypeScript용 라이브러리입니다. 먼저 프로젝트에 Axios를 설치합니다.
npm install axios
다음으로, TypeScript에서 Axios를 사용하여 외부 API를 호출하는 간단한 예제를 살펴보겠습니다.
import axios from 'axios';
async function getExternalData() {
try {
const response = await axios.get('https://api.example.com/data');
return response.data;
} catch (error) {
console.error('Error fetching external data:', error);
throw error;
}
}
// 함수 호출
getExternalData().then(data => {
console.log('External data:', data);
});
2. 외부 API 호출시 에러 처리
외부 API 호출 시 잠재적인 에러에 대비하여 try/catch
블록을 사용하여 에러 처리를 합니다. 이로써 오류가 발생했을 때 적절한 조치를 취할 수 있습니다.
또한, catch
블록에서 오류를 기록하고 다시 throw하는 방법을 통해 호출자가 오류를 처리하도록 할 수 있습니다.
3. TypeScript의 타입 지원 활용
TypeScript를 사용하면 Axios의 응답 데이터에 대한 타입 추론을 지원합니다. 따라서 API로부터 받은 데이터의 형식을 사전에 정의하고 사용할 수 있습니다.
interface ExternalData {
id: number;
name: string;
// 추가 필드 정의
}
async function getExternalData(): Promise<ExternalData> {
// ...
}
위와 같이 TypeScript의 인터페이스를 활용하여 외부 API로부터 수신되는 데이터의 구조를 명시할 수 있습니다.
4. 결론
async/await 및 TypeScript를 활용하여 외부 API 호출을 처리할 때, Axios를 사용하고 에러 처리 및 타입 지원을 고려하는 것이 중요합니다. 이를 통해 안정적이고 유지보수성 있는 코드를 작성할 수 있습니다.
이상으로 async/await와 함께 사용하는 외부 API 호출 처리 방법에 대해 알아보았습니다.
더 많은 정보는 Axios 공식 문서를 참고하세요.