import 'dart:async'; Future wait( FutureOr Function() condition, { Duration? pollInterval, }) async { while (!await condition()) { await Future.delayed(pollInterval ?? const Duration(milliseconds: 500)); } }