runOnDispose method
- @protected
- @visibleForOverriding
- @mustCallSuper
inherited
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;
}