runOnDispose method
- @protected
- @visibleForOverriding
- @mustCallSuper
Executes the Ref.onDispose listeners previously registered, then clear the list of listeners.
Implementation
@protected
@visibleForOverriding
@mustCallSuper
void runOnDispose() {
if (!_mounted) return;
_mounted = false;
while (_listenedProviderSubscriptions.isNotEmpty) {
_listenedProviderSubscriptions.first.close();
}
_onDisposeListeners?.forEach(runGuarded);
for (final observer in _container.observers) {
runBinaryGuarded(
observer.didDisposeProvider,
_origin,
_container,
);
}
_onDisposeListeners = null;
_onCancelListeners = null;
_onResumeListeners = null;
_onAddListeners = null;
_onRemoveListeners = null;
_onChangeSelfListeners = null;
_onErrorSelfListeners = null;
_didCancelOnce = false;
}