[typescript] async/await와 함께 사용하는 외부 API 호출 처리 방법

외부 API를 호출할 때 JavaScript 및 TypeScript의 비동기 기능을 최대한 활용하여 데이터를 효과적으로 가져오고 처리할 수 있습니다. asyncawait를 사용하여 비동기 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 공식 문서를 참고하세요.