takeWhile
Pass elements downstream as long as a predicate function returns true and then complete.
Signature¶
Source.takeWhile
Flow.takeWhile
Description¶
Pass elements downstream as long as a predicate function returns true and then complete. The element for which the predicate returns false is not emitted.
Example¶
sourceSource(1 to 10).takeWhile(_ < 3).runForeach(println)
// prints
// 1
// 2
sourceSource.from(Arrays.asList(1, 2, 3, 4, 5))
.takeWhile(i -> i < 3)
.runForeach(System.out::println, system);
// this will print:
// 1
// 2
Reactive Streams semantics¶
emits while the predicate is true and until the first false result
backpressures when downstream backpressures
completes when predicate returned false or upstream completes
1.1.3