Contents

addTask(executorPreference:priority:operation:)

Adds a child task to the group.

Declaration

mutating func addTask(executorPreference taskExecutor: (any TaskExecutor)? = nil, priority: TaskPriority? = nil, operation: sending @escaping @isolated(any) () async throws -> ChildTaskResult)

Parameters

  • taskExecutor:

    The task executor that the child task should be started on and keep using. Explicitly passing nil as the executor preference is equivalent to calling the addTask method without a preference, and effectively means to inherit the outer context’s executor preference. You can also pass the Globalconcurrentexecutor global executor explicitly.

  • priority:

    The priority of the operation task. Omit this parameter or pass nil to inherit the task group’s base priority.

  • operation:

    The operation to execute as part of the task group.

Discussion

This method doesn’t throw an error, even if the child task does. Instead, the corresponding call to ThrowingTaskGroup.next() rethrows that error.

See Also

Adding Tasks to a Throwing Task Group