简体   繁体   English

RxJava:结果可以分成两个不同的可观察量吗?

[英]RxJava: Can a result be split into two different observables?

I have an observable that emits a single object which has two fields, something like this: 我有一个observable,它发出一个有两个字段的对象,如下所示:

public class Details {
    private Link link;
    private List<Comment> comments;
}

Observable<Details> detailsObservable = ...;

Now, I was wondering: can this observable be somehow split into two observables? 现在,我想知道:这个可观察的是否可以分成两个可观察者? What I'd like to do is to have a subscriber listen for the link and another one to listen for Comment s. 我想做的是让订阅者听取link ,另一个听取Comment

You can use map method to achieve that. 您可以使用map方法来实现这一点。 Example code shared below, let me know if it helps. 下面分享的示例代码,让我知道它是否有帮助。

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;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM