[flutter] dio_retry 패키지를 사용하여 특정 시간만큼 기다린 후 API 호출하기

이번에는 flutter 앱에서 dio_retry 패키지를 사용하여 특정 시간만큼 대기한 후 API를 호출하는 방법에 대해 알아보겠습니다.

1. dio_retry 패키지 추가

먼저 pubspec.yaml 파일에 dio_retry 패키지를 추가합니다.

dependencies:
  dio: ^4.0.0
  dio_retry: ^4.0.0

그리고 flutter pub get 명령어를 통해 패키지를 설치합니다.

2. DioInterceptor 추가

다음으로, DioInterceptor를 통해 retry 딜레이를 설정할 수 있습니다.

import 'package:dio/dio.dart';
import 'package:dio_retry/dio_retry.dart';

void main() {
  Dio dio = Dio();
  dio.interceptors.add(RetryInterceptor(
    dio: dio,
    options: const RetryOptions(
      retries: 3,
      retryInterval: const Duration(seconds: 2),
    ),
  ));
}

위의 예제에서는 Dio 인스턴스에 RetryInterceptor를 추가하고, retries와 retryInterval을 설정하여 API 호출 시에 재시도 간격을 지정하였습니다.

3. API 호출

이제 설정된 DioInterceptor를 사용하여 API를 호출할 수 있습니다.

void fetchData() async {
  try {
    Response response = await dio.get('https://api.example.com/data');
    print(response.data);
  } catch (e) {
    print('Error: $e');
  }
}

4. 결과 확인

이제 앱을 실행하고 API를 호출하면, dio_retry 패키지를 통해 설정된 시간만큼 기다린 후에 API 호출이 이루어질 것입니다.

이상으로 flutter에서 dio_retry 패키지를 사용하여 특정 시간만큼 대기한 후 API를 호출하는 방법을 알아보았습니다.

더 자세한 내용은 dio_retry GitHub 페이지를 참고하시기 바랍니다.