dispose method
Drives the service into ServiceState.DISPOSE_SUCCESS by running listeners from provideDisposeListeners.
Contract:
Implementation
@nonVirtual
Resolvable<Unit> dispose({bool eagerError = false}) {
return _sequencer.then((prev) {
if (state.didDispose()) {
return Sync<Option>.okValue(const None());
}
return _updateState(
providerFunction: provideDisposeListeners,
eagerError: eagerError,
attemptState: ServiceState.DISPOSE_ATTEMPT,
successState: ServiceState.DISPOSE_SUCCESS,
errorState: ServiceState.DISPOSE_ERROR,
phaseName: 'dispose',
);
}).toUnit();
}