私はクラスをRxJava2で使用しています。なぜ "Maybe.doOnDispose"はRxJava2ではサポートされていませんか?
私はdoOnDispose
コールバックを登録してDisposeイベントを検出しましたが、起動されません。
Maybe.just("aaa")
.doOnDispose({ /* do something */ })
.subscribe(...)
私はRxJava 2のコードを見て、しかしMaybe
はdoOnDispose
をサポートしていないようでした。
Maybe
は
,,, doOnDispose
に
@CheckReturnValue
@SchedulerSupport("none")
public final Maybe<T> doOnDispose(Action onDispose) {
return RxJavaPlugins.onAssembly(new MaybePeek(this, Functions.emptyConsumer(), Functions.emptyConsumer(), Functions.emptyConsumer(), Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, (Action)ObjectHelper.requireNonNull(onDispose, "onDispose is null")));
}
protected void subscribeActual(MaybeObserver<? super T> observer) {
this.source.subscribe(new MaybePeek.MaybePeekObserver(observer, this));
}
を
MaybePeek
(ない
DoOnDisposeObserver
)オブジェクトを作成します。しかし、
Single
は
DoOnDisposeObserver
を作成し、それがうまく働いているです。
@CheckReturnValue
@SchedulerSupport("none")
public final Single<T> doOnDispose(Action onDispose) {
ObjectHelper.requireNonNull(onDispose, "onDispose is null");
return RxJavaPlugins.onAssembly(new SingleDoOnDispose(this, onDispose));
}
protected void subscribeActual(SingleObserver<? super T> s) {
this.source.subscribe(new SingleDoOnDispose.DoOnDisposeObserver(s, this.onDispose));
}
なぜMaybe.doOnDispose
はサポートされていませんか?
素晴らしいです!ありがとう – yuki312