我不太确定我的问题标题是否正确,我只是尝试解释它,并乐意欣赏任何更正。
所以我有这个片段(伪似的),
之外的一些观察者
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)一样 通知外部观察者 任何错误。
我的问题是,这是一个好的设计吗?这是正确的方法吗?或者有一个很好的方法来实现我想要的东西吗?一切都很顺利,但当然我们有这种直觉,如果不确定,所以我决定发一个问题,因为我不能想到一个好的搜索“术语”为我问题。
非常感谢任何帮助或链接。 谢谢!