[flutter] dio_retry 패키지를 사용하여 특정 시간에 API 호출하기
이번 글에서는 flutter 앱에서 dio_retry 패키지를 사용하여 특정 시간에 API를 호출하는 방법을 알아보겠습니다.
dio_retry 패키지란?
dio_retry는 dio 클라이언트에 재시도 기능을 추가하는 패키지입니다. 이 패키지를 사용하면 API 호출 중에 발생할 수 있는 네트워크 오류에 대응하여 특정 시간 간격으로 재시도할 수 있습니다.
flutter 앱에 dio_retry 패키지 추가하기
pubspec.yaml
파일에 아래와 같이 dio_retry 패키지를 추가합니다.
dependencies:
dio_retry: ^1.0.0
터미널에서 flutter pub get
명령어를 실행하여 패키지를 설치합니다.
dio_retry를 사용하여 특정 시간에 API 호출하기
아래는 dio 클라이언트에 dio_retry 패키지를 추가하여 특정 시간에 API를 호출하는 예제 코드입니다.
import 'package:dio/dio.dart';
import 'package:dio_retry/dio_retry.dart';
void main() {
final dio = Dio();
dio.interceptors.add(RetryInterceptor(
dio: dio,
options: const RetryOptions(
retries: 2, // 2번 재시도
retryInterval: const Duration(seconds: 5), // 5초 간격으로 재시도
),
));
// 특정 시간에 API 호출
Timer(const Duration(seconds: 10), () async {
try {
final response = await dio.get('https://api.example.com/data');
print(response.data);
} catch (e) {
print('에러: $e');
}
});
}
위 코드에서는 RetryInterceptor
를 사용하여 dio 클라이언트에 재시도 옵션을 추가하고, Timer
를 사용하여 10초 후에 API를 호출하도록 설정했습니다.
이제 코드를 실행하면 10초 후에 API 호출이 발생하며, 발생한 네트워크 오류에 대해 재시도가 이루어지는 것을 확인할 수 있습니다.
이상으로 flutter 앱에서 dio_retry 패키지를 사용하여 특정 시간에 API를 호출하는 방법에 대해 알아보았습니다.