addListener method

  1. @override
RemoveListener addListener(
  1. Listener<DataState<T>> listener, {
  2. bool fireImmediately = true,
})
override

Subscribes to this object.

The listener callback will be called immediately on addition and synchronously whenever state changes. Set fireImmediately to false if you want to skip the first, immediate execution of the listener.

To remove this listener, call the function returned by addListener:

StateNotifier<Model> example;
final removeListener = example.addListener((value) => ...);
removeListener();

Listeners cannot add other listeners.

Adding and removing listeners has a constant time-complexity.

Implementation

@override
RemoveListener addListener(
  Listener<DataState<T>> listener, {
  bool fireImmediately = true,
}) {
  final dispose =
      super.addListener(listener, fireImmediately: fireImmediately);
  return () {
    dispose();
    onDispose?.call();
  };
}