waitForCondition static method

Future<void> waitForCondition(
  1. bool condition(), {
  2. Duration timeout = const Duration(seconds: 5),
  3. Duration pollInterval = const Duration(milliseconds: 100),
})

Wait for a specific condition to be true

Implementation

static Future<void> waitForCondition(
  bool Function() condition, {
  Duration timeout = const Duration(seconds: 5),
  Duration pollInterval = const Duration(milliseconds: 100),
}) async {
  final startTime = DateTime.now();
  while (!condition()) {
    if (DateTime.now().difference(startTime) > timeout) {
      throw TimeoutException(
        'Condition not met within ${timeout.inSeconds} seconds',
      );
    }
    await Future.delayed(pollInterval);
  }
}