addTask method

  1. @mustCallSuper
void addTask(
  1. Task task
)

添加一个 Task

被添加的 task 会被立即执行 createTask

Implementation

@mustCallSuper
void addTask(Task task) async {
  try {
    task
      ..manager = this
      ..preStart();
  } catch (e) {
    task.postError(e);
    return;
  }

  workingTasks.add(task);

  try {
    task.postReceive(await task.createTask());
  } catch (error) {
    task.postError(error);
    return;
  }

  try {
    task.postStart();
  } catch (e) {
    task.postError(e);
    return;
  }
}