rxjava在可观察

时间:2017-04-08 18:16:01

标签: java observable

我有一个带有特定类型A的项目的Observable。对于observable推送的每个项目,我想从存储库/数据存储区中查找类型B的相关对象,并将其作为单个返回。

这样做的正确方法是什么?

我已经尝试使用blockingGet()方法来实现它并且它可以工作,但我不知道这是否是正确/正确的方法。

public static void main(final String[] args) throws Exception {
    List<A> items = Arrays.asList(new A(), new A(), new A());

    Observable.fromIterable(items)
            .map(a -> {
                //This could be coming from a repo/datastore/something else
                B b = getRelevantB(a).blockingGet();

                //do stuff with a & b;
                a.doStuff(b);
                return a;
            })
            .subscribe();
}

//not actual implementation but just to sketch a situation
public static Single<B> getRelevantB(A a) {
    return Single.just(new B());
}

public static class A {

    public void doStuff(B b) {
        //stub
    }
}

public static class B {
}

0 个答案:

没有答案