waitForConnection method

Future<bool> waitForConnection({
  1. Duration timeout = const Duration(seconds: 30),
  2. Duration checkInterval = const Duration(seconds: 2),
})

Wait for internet connection (useful for retrying)

Implementation

Future<bool> waitForConnection({
  Duration timeout = const Duration(seconds: 30),
  Duration checkInterval = const Duration(seconds: 2),
}) async {
  final startTime = DateTime.now();

  while (DateTime.now().difference(startTime) < timeout) {
    if (await checkConnectivity()) {
      return true;
    }
    await Future.delayed(checkInterval);
  }

  return false;
}