Когда вы используете карту вместо FlatMap в RxJava?JAVA

Программисты JAVA общаются здесь
Anonymous
Когда вы используете карту вместо FlatMap в RxJava?

Сообщение Anonymous »

Когда вы используете карту вместо FlatMap в RxJava?

Скажем, например, мы хотим сопоставить файлы, содержащие JSON, со строками, содержащими JSON -

Используя карту, нам нужно как-то справляться с Исключением. Но как?:

Код: Выделить всё

Observable.from(jsonFile).map(new Func1() {
@Override public String call(File file) {
try {
return new Gson().toJson(new FileReader(file), Object.class);
} catch (FileNotFoundException e) {
// So Exception. What to do ?
}
return null; // Not good :(
}
});
Используя FlatMap, это гораздо более подробно, но мы можем перенаправить проблему вниз по цепочке Observables и обработать ошибку, если выберем другое место и даже повторим попытку:

Код: Выделить всё

Observable.from(jsonFile).flatMap(new Func1() {
@Override public Observable call(final File file) {
return Observable.create(new Observable.OnSubscribe() {
@Override public void call(Subscriber

Подробнее здесь: [url]https://stackoverflow.com/questions/22847105/when-do-you-use-map-vs-flatmap-in-rxjava[/url]

Вернуться в «JAVA»