Observable.range(0, Integer.MAX_VALUE)
.observeOn(Schedulers.computation())
.take(6)
.filter(it -> it % 2 == 0)
.map(it -> String.valueOf(it) + ' ')
.reduce(new StringBuilder(), StringBuilder::append)
.observeOn(Schedulers.io())
.toBlocking()
.subscribe(System.out::println);
// Output: 0 2 4autosuggestInput
.observeOn(Schedulers.io())
.throttleLast(250, TimeUnit.MILLISECONDS)
.distinctUntilChanged()
.switchMap(input -> {
return autosuggestManager.autosuggest(input);
})
.observeOn(AndroidSchedulers.mainThread)
.subscribe(results -> ...);Observable.zip(
// Get recent searches
recentSearchStore.getRecentSearches(),
// Get Price Alerts
priceAlertStore.getPriceAlerts(),
// Get latest saved search configuration
searchConfigStore.latestSearchConfig(),
(searches, alerts, lastConfig) -> {
// Batch the data based on common City
...
})
.flatMap(batched -> {
// Get images for the cities
return Observable.zip(
Observable.just(batched),
imageStore.getCityImage(batched.cityId()),
(ars, s) -> ars.setImageUrl(s));
});