System.reactive 空的可观察订阅,但onNext未调用?
我想要一个Observable,它除了在订阅时调用Observable的onNext回调外,什么都不做。我想我在Observable.empty()中发现了这一点,但以下情况不会导致调用Observable的onNext回调:System.reactive 空的可观察订阅,但onNext未调用?,system.reactive,reactive-programming,rx-java,System.reactive,Reactive Programming,Rx Java,我想要一个Observable,它除了在订阅时调用Observable的onNext回调外,什么都不做。我想我在Observable.empty()中发现了这一点,但以下情况不会导致调用Observable的onNext回调: Observable<Void> emptyObservable = Observable.empty(); emptyObservable.subscribe(passedinObserver); Observable emptyoobservable=O
Observable<Void> emptyObservable = Observable.empty();
emptyObservable.subscribe(passedinObserver);
Observable emptyoobservable=Observable.empty();
emptyObservable.subscribe(passedInObservable);
passedInObserver的定义如下:
Observer<Void> passedinObserver = new Observer<Void> {
@Override public void onCompleted() {
}
@Override public void onError(Throwable e) {
}
@Override public void onNext(Void aVoid) {
Log.d("onNext called");
}
};
观察者通过观察者=新观察者{
@覆盖已完成的公共void(){
}
@覆盖公共无效onError(可丢弃的e){
}
@覆盖公共void onNext(void aVoid){
Log.d(“onNext调用”);
}
};
尝试可观察。只要(…)
。它将返回一个值,并因此调用.onNext(…)
尝试可观察。只需(…)
。它将返回一个值,因此调用.onNext(…)
onNext
不会被调用,onCompleted
会对这种类型的可观察的onNext
不会被调用,onCompleted
会对这种类型的可观察的进行调用,您可以使用可观察的.just(null)
或任何值,因为您无论如何都要获取该值。但是,当值通过可观察序列时,似乎需要执行额外的工作,因此可以使用doOnNext()
:
您可以使用Observable.just(null)
或任何值,因为您无论如何都要获取该值。但是,当值通过可观察序列时,似乎需要执行额外的工作,因此可以使用doOnNext()
:
作为其他答案的替代,由于empty
只调用onCompleted
而不调用onNext
,可能您只想在onCompleted
中完成工作,而不是在onNext
?作为其他答案的替代,由于empty
只调用onCompleted
而不调用onNext
,也许你只是想在onCompleted
中完成你的工作,而不是在onNext
?@MichałK-我更像是一个C开发者。很抱歉。修正了。@MichałK-我更像一个C#开发者。很抱歉。固定的。
Observable.range(1, 10)
.doOnNext(v -> Log.d("onNext called"))
.map(v -> v * v)
.subscribe(System.out::println);