<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Swift",
  "identifier" : "/documentation/Swift/AsyncThrowingPrefixWhileSequence/Iterator/next()",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Swift"
    ],
    "preciseIdentifier" : "s:12_Concurrency32AsyncThrowingPrefixWhileSequenceV8IteratorV4next7ElementQzSgyYaKF"
  },
  "title" : "next()"
}
-->

# next()

Produces the next element in the prefix-while sequence.

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

## Discussion

If the predicate hasn’t failed yet, this method gets the next element
from the base sequence and calls the predicate with it. If this call
succeeds, this method passes along the element. Otherwise, it returns
`nil`, ending the sequence. If calling the predicate closure throws an
error, the sequence ends and `next()` rethrows the error.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)