We have covered many operators that suppress, transform, reduce, and collect emissions. These operators can do a lot of work, but what about combining multiple Observables and consolidating them into one? If we want to accomplish more with ReactiveX, we need to take multiple streams of data and events and make them work together, and there are operators and factories to achieve this. These combining operators and factories also work safely with Observables occurring on different threads (discussed in Chapter 6, Concurrency and Parallelization).
This is where we start to transition from making RxJava useful to making it powerful. We will cover the following operations to combine Observables:
- Merging
- Concatenating
- Ambiguous
- Zipping
- Combine latest
- Grouping