AsyncNotifier<State> class abstract

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.

When using autoDispose or family, your notifier type changes. Instead of extending AsyncNotifier, you should extend either:




future Future<State>
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 AsyncNotifierProviderRef<State>
The Ref from the provider associated with this AsyncNotifier.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state AsyncValue<State>
The value currently exposed by this AsyncNotifier.
getter/setter pairinherited


build() FutureOr<State>
Initialize an AsyncNotifier.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toString() String
A string representation of this object.
update(FutureOr<State> cb(State), {FutureOr<State> onError(Object err, StackTrace stackTrace)?}) Future<State>
A function to update state from its previous value, while abstracting loading/error cases for state.
updateShouldNotify(AsyncValue<State> previous, AsyncValue<State> next) bool
A method invoked when the state exposed by this AsyncNotifier changes.


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