schedule<T> method
Future<T?>
schedule<T>(
- FutureOr<
T> task(- LevitTaskContext context
- String? id,
- TaskPriority priority = TaskPriority.normal,
- TaskConflictPolicy conflictPolicy = TaskConflictPolicy.reject,
- int retries = 0,
- Duration? retryDelay,
- bool useExponentialBackoff = true,
- void onError(
- Object error,
- StackTrace stackTrace
- TaskCachePolicy<
T> ? cachePolicy, - void onStart()?,
- void onSuccess(
- T result
- void onProgress(
- double progress
- void onCancel()?,
- void onEvent(
- LevitTaskEvent event
- LevitTaskMetadata? metadata,
- String? debugName,
Schedules task and returns only its eventual result.
Use submit when execution identity or per-execution cancellation is
required. Cancellation, dropping, and superseding complete with null.
Implementation
Future<T?> schedule<T>(
FutureOr<T> Function(LevitTaskContext context) task, {
String? id,
TaskPriority priority = TaskPriority.normal,
TaskConflictPolicy conflictPolicy = TaskConflictPolicy.reject,
int retries = 0,
Duration? retryDelay,
bool useExponentialBackoff = true,
void Function(Object, StackTrace)? onError,
TaskCachePolicy<T>? cachePolicy,
void Function()? onStart,
void Function(T result)? onSuccess,
void Function(double progress)? onProgress,
void Function()? onCancel,
void Function(LevitTaskEvent event)? onEvent,
LevitTaskMetadata? metadata,
String? debugName,
}) {
return submit<T>(
task,
id: id,
priority: priority,
conflictPolicy: conflictPolicy,
retries: retries,
retryDelay: retryDelay,
useExponentialBackoff: useExponentialBackoff,
onError: onError,
cachePolicy: cachePolicy,
onStart: onStart,
onSuccess: onSuccess,
onProgress: onProgress,
onCancel: onCancel,
onEvent: onEvent,
metadata: metadata,
debugName: debugName,
).result;
}