---
title: next()
framework: swift
role: symbol
role_heading: Instance Method
path: swift/asyncthrowingfiltersequence/iterator/next()
---

# next()

Produces the next element in the filter sequence.

## Declaration

```swift
mutating func next() async throws -> Base.Element?
```

## Discussion

Discussion This iterator calls next() on its base iterator; if this call returns nil, next() returns nil. Otherwise, next() evaluates the result with the predicate closure. If the closure returns true, next() returns the received element; otherwise it awaits the next element from the base iterator. If calling the closure throws an error, the sequence ends and next() rethrows the error.
