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>