Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RxJava:连接观察者?_Java_Rx Java - Fatal编程技术网

RxJava:连接观察者?

RxJava:连接观察者?,java,rx-java,Java,Rx Java,有没有一种RxJava方式可以连接到观察者 我的意思是,不是: Observer<Object> observer1 = new Observer<Object>() { // ... } Observer<Object> observer2 = new Observer<Object>() { @Override public void onNext(Object event) { observer1.onNext

有没有一种RxJava方式可以连接到观察者

我的意思是,不是:

Observer<Object> observer1 = new Observer<Object>() { // ... }
Observer<Object> observer2 = new Observer<Object>() {
    @Override
    public void onNext(Object event) {
        observer1.onNext(event);
    }
    // ...
    };
Observer Observer 1=new Observer(){/…}
observer2=新的观察者(){
@凌驾
public void onNext(对象事件){
observer1.onNext(事件);
}
// ...
};

因此,观察者被链接在一起(当调用原始onNext()时,调用辅助onNext()。

如果要在第一个观察者onNext中运行第二个观察者,只需使用flatMap?即可

也许我不明白你想做什么

Observable.just(object) 
          .flatMap(Observable.just(object2))--> Do whatever you need
          .subscribe(); --> First observer

如果您想看到一些关于如何使用RxJava的实践示例,请看这里

我建议您使用一个处理器,它既是一个可观察的处理器,也是一个观察者

在您的示例中:

//Your observable
Observable observable = Observable.just(...);

Observer<Object> observer1 = new Observer<Object>() { // ... }

PublishSubject<Object> observer2 = PublishSubject.create();
// observer1 will receive all onNext and onCompleted events
observer2.subscribe(observer1);

//observer2 will get items from observable and propagate them to observer1
observable.subscribe(observer2);
//您的可观察
可观察的,可观察的;
Observer Observer 1=新的Observer(){/…}
PublishSubject-observer2=PublishSubject.create();
//observer1将接收所有onNext和onCompleted事件
observer 2.订阅(observer 1);
//observer2将从observable获取项目,并将它们传播到observer1
订阅(observer 2);

为什么要这样做?@DaveModen Hey Dave:)这个系统有几个层,一个事件可以从顶部开始,我想通过让层的观察者看到事件,然后向下推到下一层来传递事件。