Files
dragon_ledger/lib/Services/initializer.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();
}
}