addObserver method

  1. @override
void addObserver(
  1. Consumer consumer
)

Registers a consumer to observe changes on this node.

Implementation

@override
void addObserver(Consumer consumer) {
  // Dependency trackers temporarily unsubscribe before each rerun. Treating
  // that internal retracking as a new listener would restart lazy async
  // signals forever, so onListen is reserved for the first observation and
  // for revival after auto-disposal.
  final shouldTriggerListen = isDisposed || !_hasBeenObserved;
  if (isDisposed) {
    isDisposed = false;
  }
  _hasBeenObserved = true;
  super.addObserver(consumer);
  if (shouldTriggerListen) {
    onListenCallback?.call();
  }
}