David Karnok
David Karnok
# 4) Continuations with concat Sometimes, you want to run through a sequence of values and then resume with another sequence of a completely different type once the first completed....
# 5) When subscribeOn and observeOn/publishOn act sometimes the same One of the confusions with reactive operators are centered around `subscribeOn` and `observeoOn` (`publishOn`). For short, `subscribeOn` acts during subscription...
# 6) FlatMap as concatMap The operator `flatMap` let's you run multiple sources at once while `concatMap` runs one sequence at a time. However, `flatMap` usually offers a parameter that...
# 7) Parallel processing Reactive datasources are sequential in nature; they form a processing pipeline that runs in FIFO order, even if source values are available while processing earlier values....
# 8) Executing an action if the source is empty Sometimes you want to execute some action, such as logging, when it turns out the source `Publisher` is empty. You...
# 9) Processing elements pairwise Sometimes you want to process subsequent elements of a `Publisher` pairwise (in triplets, etc.). A possible way of doing this is by using `buffer` with...
# 10) Executing a function asynchronously You may often want to execute some `Supplier` or `Runnable`/`Action0` asynchronously. Maybe it's something blocking or just long running and don't want to block/hold...
# 11) Caching the last element and clearing it on demand A possible use for `BehaviorSubject`/`BehaviorProcessor` (`EmitterProcessor#replayLast` in Reactor), which remembers the last value and emits it to new `Subscriber`s...
# 12) processing elements of list-based values Sometimes, an API gives you a `Publisher` where the signaled values are `List`s and you want to process the elements in the list...
# 13) Awaiting completion of many sources Sometimes you have a bunch of `Publisher`s doing various things and you want to wait until they all complete and their emitted values...