enqueue<T> method

Future<T> enqueue<T>(
  1. Future<T> task(), {
  2. Duration autoComplete = const Duration(seconds: 5),
})

Implementation

Future<T> enqueue<T>(
  Future<T> Function() task, {
  Duration autoComplete = const Duration(seconds: 5),
}) {
  final uuid = Uuid().v4();
  add(uuid, autoComplete: autoComplete);
  return task().catchError((error, stacktrace) {
    catchErrorWithStackTrace(error, stacktrace);
    return error;
  }).whenComplete(
    () => complete(uuid),
  );
}