waitFor method
Wait for a condition to be true (with timeout)
Implementation
Future<void> waitFor(
bool Function() condition, {
Duration timeout = const Duration(seconds: 5),
Duration pollInterval = const Duration(milliseconds: 50),
}) async {
final startTime = DateTime.now();
while (!condition()) {
if (DateTime.now().difference(startTime) > timeout) {
throw TimeoutException('Condition not met within timeout', timeout);
}
await Future.delayed(pollInterval);
}
}