The two previous methods,
merge(), work in the domain of the emitted items. There are scenarios in which we have to also consider the time before deciding how to operate on values. RxJava's
join() function combines items from two Observables, working with time windows.
To properly understand the previous figure, let's explain which parameters
Func1parameter that returns an Observable that specifies a time span defining the time window during which the item emitted by the source Observable will interact with the items from the second Observable