---
title: "addTask(executorPreference:priority:operation:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/throwingtaskgroup/addtask(executorpreference:priority:operation:)"
---

# addTask(executorPreference:priority:operation:)

Adds a child task to the group.

## Declaration

```swift
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 doc://com.apple.Swift/documentation/Swift/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

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

- [addTask(priority:operation:)](swift/throwingtaskgroup/addtask(priority:operation:).md)
- [addTask(name:priority:operation:)](swift/throwingtaskgroup/addtask(name:priority:operation:).md)
- [addTask(name:executorPreference:priority:operation:)](swift/throwingtaskgroup/addtask(name:executorpreference:priority:operation:).md)
- [addTaskUnlessCancelled(priority:operation:)](swift/throwingtaskgroup/addtaskunlesscancelled(priority:operation:).md)
- [addTaskUnlessCancelled(name:executorPreference:priority:operation:)](swift/throwingtaskgroup/addtaskunlesscancelled(name:executorpreference:priority:operation:).md)
- [addTaskUnlessCancelled(executorPreference:priority:operation:)](swift/throwingtaskgroup/addtaskunlesscancelled(executorpreference:priority:operation:).md)
- [addTaskUnlessCancelled(name:priority:operation:)](swift/throwingtaskgroup/addtaskunlesscancelled(name:priority:operation:).md)
- [addImmediateTask(name:priority:executorPreference:operation:)](swift/throwingtaskgroup/addimmediatetask(name:priority:executorpreference:operation:).md)
- [addImmediateTaskUnlessCancelled(name:priority:executorPreference:operation:)](swift/throwingtaskgroup/addimmediatetaskunlesscancelled(name:priority:executorpreference:operation:).md)
