scheduleTasks static method

Future<void> scheduleTasks(
  1. List<IsolateTask> tasks, {
  2. void onDone(
    1. IsolateTask task,
    2. Object? result
    )?,
  3. void onError(
    1. IsolateTask task,
    2. Object error
    )?,
})

Schedule multiple tasks at once

Implementation

static Future<void> scheduleTasks(
  List<IsolateTask> tasks, {
  void Function(IsolateTask task, Object? result)? onDone,
  void Function(IsolateTask task, Object error)? onError,
}) async {
  await _initWorker();

  for (final task in tasks) {
    workerManager.execute(() async => task.performTask()).then((result) {
      if (onDone != null) onDone(task, result);
    }).catchError((e) {
      if (onError != null) onError(task, e);
    });
  }
}