AsyncNotifier<StateT> class abstract Notifiers

A Notifier implementation that is asynchronously initialized.

This is similar to a FutureProvider but allows to perform side-effects by defining public methods.

It is commonly used for:

  • Caching a network request while also allowing to perform side-effects. For example, build could fetch information about the current "user". And the AsyncNotifier could expose methods such as "setName", to allow changing the current user name.
  • Initializing a Notifier from an asynchronous source of data. For example, obtaining the initial state of Notifier from a local database.
Inheritance

Constructors

AsyncNotifier.new()

Properties

future Future<StateT>
Obtains a Future that resolves with the first state value that is not AsyncLoading.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
ref Ref
The Ref associated with this notifier.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state AsyncValue<StateT>
The value currently exposed by this notifier.
getter/setter pairinherited

Methods

build() FutureOr<StateT>
Initialize an AsyncNotifier.
listenSelf(void listener(AsyncValue<StateT>? previous, AsyncValue<StateT> next), {void onError(Object error, StackTrace stackTrace)?}) → RemoveListener
Listens to changes on the value exposed by this provider.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
runBuild() → void
Executes Notifier.build.
override
toString() String
A string representation of this object.
inherited
update(FutureOr<StateT> cb(StateT previousState), {FutureOr<StateT> onError(Object err, StackTrace stackTrace)?}) Future<StateT>
A function to update state from its previous value, while abstracting loading/error cases for state.
inherited
updateShouldNotify(AsyncValue<StateT> previous, AsyncValue<StateT> next) bool
A method invoked when the state exposed by this Notifier changes. It compares the previous and new value, and return whether listeners should be notified.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited