---
title: "execute(_:)"
framework: healthkit
role: symbol
role_heading: Instance Method
path: "healthkit/hkhealthstore/execute(_:)"
---

# execute(_:)

Starts executing the provided query.

## Declaration

```swift
func execute(_ query: HKQuery)
```

## Parameters

- `query`: A concrete subclass of the doc://com.apple.healthkit/documentation/HealthKit/HKQuery class (any of the classes doc://com.apple.healthkit/documentation/HealthKit/HKSampleQuery, doc://com.apple.healthkit/documentation/HealthKit/HKAnchoredObjectQuery, doc://com.apple.healthkit/documentation/HealthKit/HKCorrelationQuery, doc://com.apple.healthkit/documentation/HealthKit/HKObserverQuery, doc://com.apple.healthkit/documentation/HealthKit/HKSourceQuery, doc://com.apple.healthkit/documentation/HealthKit/HKStatisticsQuery, or doc://com.apple.healthkit/documentation/HealthKit/HKStatisticsCollectionQuery).

## Mentioned in

Executing Activity Summary Queries Executing Anchored Object Queries Executing Observer Queries Executing Sample Queries Executing Source Queries Executing Statistical Queries Reading route data

## Discussion

Discussion HealthKit executes queries asynchronously on a background queue. Most queries automatically stop after they have finished executing. However, long-running queries—such as observer queries and some statistics collection queries—continue to execute in the background. To stop long-running queries, call the stop(_:) method.

## See Also

### Querying HealthKit data

- [stop(_:)](healthkit/hkhealthstore/stop(_:).md)
