then method
TResolvableOption<T>
then(
- @noFutures TTaskHandler<
T> handler, { - @noFutures TOnTaskError? onPrevError,
- bool? eagerError,
- Duration? minTaskDuration,
Appends a new task to the sequence.
If the sequencer is already running, the task is added to a re-entrant queue to be processed after the current task completes. Otherwise, it is executed immediately.
Implementation
TResolvableOption<T> then(
@noFutures TTaskHandler<T> handler, {
@noFutures TOnTaskError? onPrevError,
bool? eagerError,
Duration? minTaskDuration,
}) {
final task = Task<T>(
handler: handler,
onError: onPrevError,
eagerError: eagerError,
minTaskDuration: minTaskDuration,
);
if (isExecuting) {
_reentrantQueue.add(task);
return _current;
}
return _chainTask(task);
}