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
二维码