我知道如果 Observable 发出一条数据,它会重新订阅,如果 Observable 发出 onError 通知,它会将该通知传递给观察者并终止。问题是,如果我发出一个 Obervable.just(1,2),但它不会被观察者接受。那么它的用途是什么?它只是告诉它重新订阅,我什么数据并不重要发射?
Observable.just(1, "2", 3)
.cast(Integer.class)
.retryWhen(new Function<Observable<Throwable>, ObservableSource<Integer>>() {
@Override
public ObservableSource<Integer> apply(Observable<Throwable> throwableObservable) throws Exception {
return Observable.just(4,5);
}
})
.subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
Log.i(TAG, "retryWhen重试数据"+integer);
}
});
并且日志是
retryWhen重试数据1
retryWhen重试数据1
所以 Observable.just(4,5) 不见了?