TaskSequencer<T extends Object> class
Manages a chain of dependent tasks, ensuring they execute sequentially.
A TaskSequencer
processes tasks one after another, passing the result of
the completed task to the next one in the chain. It supports both sync and
async tasks and includes a re-entrant queue to handle new tasks that are
added while an existing sequence is already running.
Constructors
- TaskSequencer.new({@noFutures TOnTaskError? onPrevError, bool eagerError = false, Duration? minTaskDuration})
Properties
-
completion
→ TResolvableOption<
T> -
A Resolvable that represents the final result of the entire sequence.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isExecuting → bool
-
no setter
- isNotExecuting → bool
-
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
newBatch(
) → SequencedTaskBatch< T> - Creates a new SequencedTaskBatch that is bound to this sequencer.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
then(
TTaskHandler< T> handler, {TOnTaskError? onPrevError, bool? eagerError, Duration? minTaskDuration}) → TResolvableOption<T> - Appends a new task to the sequence.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
convertHandler<
T extends Object> (FutureOr< T?> handler(T? prev, Err<Object> ? err)) → TTaskHandler<T>