RxJava:一个结果可以分成两个不同的可观察值吗?
RxJava: Can a result be split into two different observables?
我有一个 Observable,它发出一个具有两个字段的对象,如下所示:
public class Details {
private Link link;
private List<Comment> comments;
}
Observable<Details> detailsObservable = ...;
现在,我想知道:这个 observable 能否以某种方式分成两个 observable?我想要做的是让一个订阅者收听 link
,另一个订阅者收听 Comment
s.
您可以使用地图方法来实现。下面分享了示例代码,如果有帮助请告诉我。
public static void main(String[] args) {
Observable<Details> dObs = Observable.just(new Details("a", "c"));
Observable<String> lObs = dObs.map(d -> d.link);
Observable<String> cObs = dObs.map(d -> d.comments);
lObs.subscribe(s -> System.out.println(s));
cObs.subscribe(s -> System.out.println(s));
}
static class Details {
String link;
String comments;
public Details(String link, String comments) {
this.link = link;
this.comments = comments;
}
}
我有一个 Observable,它发出一个具有两个字段的对象,如下所示:
public class Details {
private Link link;
private List<Comment> comments;
}
Observable<Details> detailsObservable = ...;
现在,我想知道:这个 observable 能否以某种方式分成两个 observable?我想要做的是让一个订阅者收听 link
,另一个订阅者收听 Comment
s.
您可以使用地图方法来实现。下面分享了示例代码,如果有帮助请告诉我。
public static void main(String[] args) {
Observable<Details> dObs = Observable.just(new Details("a", "c"));
Observable<String> lObs = dObs.map(d -> d.link);
Observable<String> cObs = dObs.map(d -> d.comments);
lObs.subscribe(s -> System.out.println(s));
cObs.subscribe(s -> System.out.println(s));
}
static class Details {
String link;
String comments;
public Details(String link, String comments) {
this.link = link;
this.comments = comments;
}
}