是否可以从进入 map/flatMap 的 Observable 返回两种不同类型?

我想知道是否可以做这样的事情:


我有一个返回 Observable 的函数,如下所示:


Observable<JSONObject> = someMethodCall().map( x -> {

/// do something

return new JSONObject().put("id", 12346");

});

现在我想深入 //do some 想要添加一些逻辑,所以我可以返回一个Observable.error,为此我不能使用map但 flatMap,我想知道是否有任何方法可以使用 flatMap 来处理这种行为?


慕容3067478
浏览 131回答 1
1回答

蝴蝶刀刀

假设您希望通过 传播错误onError,以便您可以使用诸如onErrorReturn或 之类的东西,您可以像这样onErrorResumeNext使用:flatMapObservable<JSONObject> = someMethodCall().flatMap( x -> {&nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; //do something....&nbsp; &nbsp; &nbsp; return Observable.just(new JSONObject().put("id", 12346"));&nbsp; &nbsp; } catch (Throwable t) {&nbsp; &nbsp; &nbsp; return Observable.error(t);&nbsp; &nbsp; }&nbsp; });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java