10
什么时候在RxJava中使用map vs flatMap?
什么时候在RxJava中使用mapvs ?flatMap 举例来说,假设我们要将包含JSON的文件映射到包含JSON的字符串中, 使用map,我们必须以Exception某种方式处理。但是如何? Observable.from(jsonFile).map(new Func1<File, String>() { @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<File, Observable<String>>() { @Override public Observable<String> …