Rxjava2,如何从另一个observable中调用/通知onNext()可观察源的Observer

时间:2017-05-19 04:01:05

标签: observable observers rx-java2

我不太确定我的问题标题是否正确,我只是尝试解释它,并乐意欣赏任何更正。

所以我有这个片段(伪似的),

之外的一些观察者

Observer someObserverOutside = new Observer() {

        @Override
        public void onSubscribe(Disposable d) {}

        @Override
        public void onNext(Object o) {

            // "Ok value" recieved here
        }

        @Override
        public void onError(Throwable e) {

            // BadThrowable received here
        }

        @Override
        public void onComplete() {}
    };

My Observable stream

Observable
            .defer( create new observable for observer/subscription )
            .retry( apply a funtion that will retry when some A error happened )

                           -> apply {

                                Observable
                                        .defer (create new observable for observer/subscription )
                                        .retry( apply a funtion that will retry when some B error happened )

                                                -> apply {

                                                    if (OK) {
                                                        someObserverOutside.onNext("Ok Value");
                                                    } else {
                                                        Observable.error(throw some BadThrowable)
                                                    }
                                                }
            .subscribe(someObserverOutside);

我的目标是针对我应用的任何运算符或我为原始observable创建的任何可观察源,任何好的操作都应该通知源的观察者,就像 Observable.error(Throwable)一样 通知外部观察者 任何错误。

我的问题是,这是一个好的设计吗?这是正确的方法吗?或者有一个很好的方法来实现我想要的东西吗?一切都很顺利,但当然我们有这种直觉,如果不确定,所以我决定发一个问题,因为我不能想到一个好的搜索“术语”为我问题。

非常感谢任何帮助或链接。 谢谢!

0 个答案:

没有答案