LxAsyncComputed<T> class

An asynchronous computed value that reflects state transitions via LxStatus.

LxAsyncComputed derives state from async operations, automatically tracking dependencies. It exposes the current status (Success, Error, Waiting) of the calculation.

// Example usage:

final userId = 1.lx;

// Re-fetches user whenever userId changes
final user = LxAsyncComputed(() => fetchUser(userId()));
Inheritance
Available extensions

Constructors

LxAsyncComputed(Future<T> _compute(), {bool equals(T previous, T current)?, bool showWaiting = false, bool staticDeps = false, T? initial, String? name, LxAsyncConcurrency concurrency = LxAsyncConcurrency.latest})
Base constructor for async computed values.

Properties

computedValue → T

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Alias for requireValue.
no setter
concurrency LxAsyncConcurrency
Admission policy for overlapping invalidations.
final
equals bool Function(LxStatus<T> previous, LxStatus<T> current)?
Custom equality function. When null, uses ==.
finalinherited
errorOrNull Object?

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns the current error if the status is LxError, otherwise null.
no setter
graphDepth int
Returns the current depth in the dependency graph.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
hasListener bool
Whether there are active listeners.
no setterinherited
hasValue bool

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Alias for isSuccess.
no setter
id int
A unique runtime identifier for this reactive instance.
finalinherited
isDisposed bool
Whether the reactive object has been closed/disposed.
no setterinherited
isError bool

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns true if the status is LxError.
no setter
isIdle bool

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns true if the status is LxIdle.
no setter
isLoading bool

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Alias for isWaiting.
no setter
isSensitive bool
Whether this reactive object contains sensitive data.
getter/setter pairinherited
isSuccess bool

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns true if the status is LxSuccess.
no setter
isWaiting bool

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns true if the status is LxWaiting.
no setter
lastValue → T?

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns the LxStatus.lastValue (the most recent successful value).
no setter
name String?
An optional descriptive name for debugging and profiling.
getter/setter pairinherited
onCancel → void Function()?
Called when the stream is cancelled.
finalinherited
onListen → void Function()?
Called when the stream is listened to.
finalinherited
ownerId String?
The registration key of the owning controller, if applicable.
getter/setter pairinherited
requireValue → T

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Force-retrieves the current value if the status is LxSuccess.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stackTraceOrNull StackTrace?

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns the stack trace if the status is LxError, otherwise null.
no setter
status LxStatus<T>
no setter
stream Stream<LxStatus<T>>
A Stream that emits the latest value whenever it updates.
no setterinherited
value LxStatus<T>
The current state of the reactive object.
no setterinherited
valueOrNull → T?

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns the current value if the status is LxSuccess, otherwise null.
no setter
wait Future<T>

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Returns a Future that completes when the operation reaches a terminal state.
no setter

Methods

addListener(void listener()) → void
Adds a listener.
inherited
call() LxStatus<T>
Functor-like call to get value.
inherited
close() → void
Permanently closes the reactive object and releases all internal resources.
inherited
dispose() → void
Disposes the notifier.
inherited
listen(void onSuccess(T value), {void onIdle()?, void onWaiting()?, void onError(Object error)?, dynamic onProcessingError(Object error, StackTrace stackTrace)?}) LxWorker<LxStatus<T>>

Available on LxReactive<LxStatus<T>>, provided by the LxStatusReactiveExtensions extension

Specialized listen for async status that allows handling individual states.
maybeNotifyGraphChange(Iterable<LxReactive> reactives) → void
Notifies observers of a graph change only if the dependencies have actually changed.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notify() → void
Alias for refresh.
inherited
refresh() → void
Whether there are active listeners.
override
removeListener(void listener()) → void
Removes a listener.
inherited
select<R>(R selector(LxStatus<T> value)) LxComputed<R>
Creates a specific selection of the state that only updates when the selected value changes.
inherited
toString() String
A string representation of this object.
override
transform<R>(Stream<R> transformer(Stream<LxStatus<T>> stream)) LxStream<R>
inherited

Operators

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