run method

  1. @override
E run(
  1. Task<T> task
)
override

Enqueues task and executes it immediately at the end of the current frame, if it isn't already running.

Implementation

@override
E run(Task<T> task) {
  if (task._isQueued) return self;
  task._isQueued = true;
  task._reset();
  _pendingTaskQueue.add(task);

  final done = _doTask(task, time.dt);
  if (done) {
    _pendingTaskQueue.remove(task);
    task._isQueued = false;
  }
  return self;
}