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()

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() → WhenComplete?
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