RX Java – how to explicitly unsubscribe observable after oncomplete
•
Java
In the following code, how and where does unsubscribe explicitly unsubscribe observable after completing oncomplete?
getObservable()
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new Subscriber<Boolean>() {
@Override
public void onCompleted() {
doSomething();
}
@Override
public void onError(Throwable e) {
thereIsError();
}
@Override
public void onNext(Boolean status) {
updateView();
}
});
Solution
You can save the dispose returned by the subscribe method and use it in the oncompleted callback
Disposable d =
getObservable()
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new Subscriber<Boolean>() {
@Override
public void onCompleted() {
doSomething();
d.dispose();
}
@Override
public void onError(Throwable e) {
thereIsError();
}
@Override
public void onNext(Boolean status) {
updateView();
}
});
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
