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
-
- Object
- AnyNotifier<
AsyncValue< StateT> , StateT> - AsyncNotifier
Constructors
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 forstate
.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