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

# next(isolation:)

Produces the next element in the flat map sequence.

## Declaration

```swift
mutating func next(isolation actor: isolated (any Actor)?) async throws -> SegmentOfResult.Element?
```

## Discussion

Discussion This iterator calls next(isolation:) on its base iterator; if this call returns nil, next(isolation:) returns nil. Otherwise, next(isolation:) calls the transforming closure on the received element, takes the resulting asynchronous sequence, and creates an asynchronous iterator from it.  next(isolation:) then consumes values from this iterator until it terminates.  At this point, next(isolation:) is ready to receive the next value from the base sequence. If transform throws an error, the sequence terminates.
