Source.fromIterator

Stream the values from an Iterator, requesting the next value when there is demand.

Source operators

Signature

Source.fromIteratorSource.fromIterator

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 factory takes a function Creator rather than an Iterator directly.

If the iterator perform blocking operations, make sure to run it on a separate dispatcher.

Example

Scala
Source.fromIterator(() => (1 to 3).iterator).runForeach(println)
// could print
// 1
// 2
// 3
Java
Source.fromIterator(() -> Arrays.asList(1, 2, 3).iterator())
    .runForeach(System.out::println, system);
// could print
// 1
// 2
// 3

Reactive Streams semantics

emits the next value returned from the iterator

completes when the iterator reaches its end

Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.