init method
Implementation
@nonVirtual
Resolvable<Unit> init({bool eagerError = true}) {
return _sequencer.then((prev) {
assert(!state.didDispose());
if (state.didDispose()) {
return Sync.result(prev);
}
assert(state == ServiceState.NOT_INITIALIZED);
if (state != ServiceState.NOT_INITIALIZED) {
return Sync.result(prev);
}
return _updateState(
providerFunction: provideInitListeners,
eagerError: eagerError,
attemptState: ServiceState.RUN_ATTEMPT,
successState: ServiceState.RUN_SUCCESS,
errorState: ServiceState.RUN_ERROR,
onSuccessMustNotThrow: () {
_didEverInitAndSuccessfully = true;
},
);
}).toUnit();
}