26 lines
673 B
Dart
26 lines
673 B
Dart
import 'dart:async';
|
|
|
|
/// Ein Service zur vereinfachung, um darauf zu warten,
|
|
/// dass etwas Initialisiert wurde
|
|
class Initializer {
|
|
bool _initialized = false;
|
|
final Completer<void> _initializedCompleter = Completer<void>();
|
|
|
|
/// Gibt zurück, ob bereits initialisiert wurde
|
|
bool get initialized => _initialized;
|
|
|
|
/// Auf diese Funktion kann gewartet werden,
|
|
/// bis [Initializer] initialisiert wurde
|
|
Future<void> waitUntilInitialized() => _initializedCompleter.future;
|
|
|
|
/// Setzt den [Initializer] auf initialisiert
|
|
void setInitialized() {
|
|
if (_initialized) {
|
|
return;
|
|
}
|
|
|
|
_initialized = true;
|
|
_initializedCompleter.complete();
|
|
}
|
|
}
|