【问题标题】:Identify emitting observable in RxJava在 RxJava 中识别发射 observable
【发布时间】:2020-10-02 01:30:26
【问题描述】:

我有一个 Observable 数组,每个都可能产生相同的元素。然后,我使用flatMap() 合并所有的 observable,并订阅生成的 Observable:

Observable<Integer> o1 = Observable.range(0, 5);
Observable<Integer> o2 = Observable.range(0, 5);
Observable<Integer> o3 = Observable.range(0, 5);
        
Observable.fromArray(o1, o2, o3)
     .flatMap(o -> o)    // merge outputs from all observables
     .subscribe(item -> Log.i(TAG, "Item: " + item + " Observable id: ???"));

我需要如何更改代码,以便确定在 subscribe() 子句中哪个 Observable 发出了每个项目?

【问题讨论】:

    标签: java rx-java reactivex


    【解决方案1】:

    怎么样:

    Observable<Item> o1 = Observable.range(0, 5).map(i -> new Item(i, "o1"));
    Observable<Item> o2 = Observable.range(0, 5).map(i -> new Item(i, "o2"));
    Observable<Item> o3 = Observable.range(0, 5).map(i -> new Item(i, "o3"));
    

    【讨论】:

    • 呵呵,想想就很琐碎:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多