---
title: Publishers.Throttle
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/throttle
---

# Publishers.Throttle

A publisher that publishes either the most-recent or first element published by the upstream publisher in a specified time interval.

## Declaration

```swift
struct Throttle<Upstream, Context> where Upstream : Publisher, Context : Scheduler
```

## Topics

### Creating a throttle publisher

- [init(upstream:interval:scheduler:latest:)](combine/publishers/throttle/init(upstream:interval:scheduler:latest:).md)

### Declaring supporting types

- [Publishers.Throttle.Output](combine/publishers/throttle/output.md)
- [Publishers.Throttle.Failure](combine/publishers/throttle/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/throttle/upstream.md)
- [interval](combine/publishers/throttle/interval.md)
- [scheduler](combine/publishers/throttle/scheduler.md)
- [latest](combine/publishers/throttle/latest.md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)

## See Also

### Controlling timing

- [Publishers.MeasureInterval](combine/publishers/measureinterval.md)
- [Publishers.Debounce](combine/publishers/debounce.md)
- [Publishers.Delay](combine/publishers/delay.md)
- [Publishers.Timeout](combine/publishers/timeout.md)
