init method
Implementation
@override
@nonVirtual
Future<void> init() {
final disposal = _disposeFuture;
if (disposal != null) return disposal.then((_) => init());
if (_initialized) return Future.value();
return _initFuture ??= Future.sync(initOnce).then(
(_) {
_initialized = true;
},
onError: (Object error, StackTrace stack) {
_initFuture = null;
Error.throwWithStackTrace(error, stack);
},
);
}