waitFor
Future<
Waits for a condition to be true.
Implementation
Future<T> waitFor<T>(
T Function() callback, {
Duration timeout = const Duration(seconds: 1),
Duration interval = const Duration(milliseconds: 50),
}) async {
final deadline = DateTime.now().add(timeout);
Object? lastError;
while (DateTime.now().isBefore(deadline)) {
try {
return callback();
} on TestingLibraryException catch (e) {
lastError = e;
await Future<void>.delayed(interval);
}
}
throw TestingLibraryException('waitFor timed out. Last error: $lastError');
}