dropWhile
Drop elements as long as a predicate function return true for the element
Signature¶
Source.dropWhile
Flow.dropWhile
Description¶
Drop elements as long as a predicate function return true for the element
Example¶
Given a Source
of ordered numbers we can drop all the negative ones with the dropWhile
operator. Mind that after the first non negative number is encountered, all the consecutive elements will be emitted despite the predicate provided.
sourceval droppedWhileNegative = Source(-3 to 3).dropWhile(_ < 0)
droppedWhileNegative.runForeach(println)
// 0
// 1
// 2
// 3
sourceSource<Integer, NotUsed> droppedWhileNegative =
Source.from(Arrays.asList(-3, -2, -1, 0, 1, 2, 3, -1)).dropWhile(integer -> integer < 0);
droppedWhileNegative.runForeach(System.out::println, system);
// 1
// 2
// 3
// -1
Reactive Streams semantics¶
emits when the predicate returned false and for all following stream elements
backpressures predicate returned false and downstream backpressures
completes when upstream completes
1.2.0-M1+35-3d489313*