Skip to content

Instantly share code, notes, and snippets.

@erchenger
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erchenger/d2e0ee7dda3e3642eca8 to your computer and use it in GitHub Desktop.
Save erchenger/d2e0ee7dda3e3642eca8 to your computer and use it in GitHub Desktop.
How to merge two data sources with rxJava.
restObservable = giphyService.searchGiphy(getGiphyQueryMap("dog")).flatMap(new Func1<GiphySearch, Observable<GiphyGif>>() {
@Override
public Observable<GiphyGif> call(GiphySearch giphySearch) {
return Observable.from(giphySearch.data);
}
}).zipWith(namesService.getPeople().flatMap(new Func1<List<People>, Observable<Person>>() {
@Override
public Observable<Person> call(List<People> people) {
return Observable.from(people);
}
}), new Func2<GiphyGif, Person, GifAndData>() {
@Override
public GifAndData call(GiphyGif giphyGif, Person person) {
return new GifAndData(giphyGif.url, person.name);
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment