Source.fromIterator
Stream the values from an Iterator
, requesting the next value when there is demand.
Signature
Description
Stream the values from an Iterator
, requesting the next value when there is demand. The iterator will be created anew for each materialization, which is the reason the method
takes a function
rather than an Iterator
directly.
If the iterator perform blocking operations, make sure to run it on a separate dispatcher.
Example
- Scala
-
source
Source.fromIterator(() => (1 to 3).iterator).runForeach(println) // could print // 1 // 2 // 3
- Java
Reactive Streams semantics
emits the next value returned from the iterator
completes when the iterator reaches its end