如何在订阅者中使用多个可观察的结果

时间:2015-06-05 09:05:12

标签: reactive-programming rx-java

确切地说,这是一个简单的例子(在现实世界中,两个可观察的都是长期运行的任务):

Observable<String> city = Observable.just("Moscow");
//here i get hashcode based on result from city
Observable<Integer> hashCodeFromCity = city.flatMap(
        new Func1<String, Observable<Integer>>() {
    @Override
    public Observable<Integer> call(String s) {
        return  Observable.just(s.hashCode());
    }
});

hashCodeFromCity.subscribe(new Action1<Integer>() {
    @Override
    public void call(Integer integer) {
        //In subscriber I want to handle city and hashcode!
        System.out.println("Hashcode from !Moscow!: " + integer);

    }
});

如何正确地将城市和哈希码一起使用?

1 个答案:

答案 0 :(得分:0)

不是构建label*string,而是构建Observable<Integer>Observable<MyPair>将是一个保留哈希码和对象的类。

MyPair