---
title: VNRequestProgressHandler
framework: vision
role: symbol
role_heading: Type Alias
path: vision/vnrequestprogresshandler
---

# VNRequestProgressHandler

A block executed at intervals during the processing of a Vision request.

## Declaration

```swift
typealias VNRequestProgressHandler = (VNRequest, Double, (any Error)?) -> Void
```

## Parameters

- `request`: The completed Vision request. The results of the request, if no error occurred, reside in the doc://Vision/documentation/Vision/VNRequest/results array of the request.
- `fractionCompleted`: The fraction of the request that is completed, reported between 0.0 and 1.0. If the doc://Vision/documentation/Vision/VNRequestProgressProviding/indeterminate property is set, this value is undefined.
- `error`: The error that caused the request to fail, or doc://com.apple.documentation/documentation/ObjectiveC/nil-227m0 if the request completed successfully.

## Discussion

Discussion Vision may populate the results array in the request with partial data, before all results are ready. note: The Vision framework may call the progress handler on a different dispatch queue from the thread on which you initiated the original request, so ensure that your handler can execute asynchronously, in a thread-safe manner.

## See Also

### Request progress tracking

- [VNRequestProgressProviding](vision/vnrequestprogressproviding.md)
