current property

  1. @awaitNotRequired
AnyTask get current

Returns the currently running task.

If no explicit task is currently running, the synthetic task main() is returned.

Implementation

@awaitNotRequired
static AnyTask get current {
  final zone = Zone.current;
  if (identical(zone, Zone.root)) {
    return _main;
  }

  AnyTask? task = zone[_taskKey] as AnyTask?;
  if (task != null) {
    return task;
  }

  task = _tempTasks[zone];
  if (task != null) {
    return task;
  }

  task = Task<void>._raw(TaskState.running);
  _tempTasks[zone] = task;
  return task;
}