Rx java Rx-收到onNext()后如何自动取消订阅?
如何在收到onNext()后自动取消订阅 目前,我使用以下代码:Rx java Rx-收到onNext()后如何自动取消订阅?,rx-java,rx-android,Rx Java,Rx Android,如何在收到onNext()后自动取消订阅 目前,我使用以下代码: rxObservable .compose(bindToLifecycle()) // unsubscribe automatically in onPause() if method was called in onResume() .subscribe(new Subscriber<Object>() { ... @Override public void onNext(Object
rxObservable
.compose(bindToLifecycle()) // unsubscribe automatically in onPause() if method was called in onResume()
.subscribe(new Subscriber<Object>() {
...
@Override
public void onNext(Object o) {
unsubscribe();
}
});
rxobbservable
.compose(bindToLifecycle())//如果在onResume()中调用了方法,则在onPause()中自动取消订阅
.subscribe(新订户(){
...
@凌驾
公共void onNext(对象o){
取消订阅();
}
});
如果您想在第一次活动刚结束后“取消订阅”,运营商采取
是一种方法
rxObservable.compose(bindToLifecycle())
.take(1)
.subscribe();
我想这就是你需要的:
rxObservable.compose(bindToLifecycle())
.takeFirst(lifecycleEvent -> lifecycleEvent == LifecycleEvent.PAUSE);
谢谢似乎我需要的是“first()”。在
take(1)
和first
之间有一个细微的区别:first
发出一个空流错误<代码>接受(1)不接受。(因此你必须根据上下文检查你需要哪一个)这个问题需要更多的上下文,以便其他人帮助你回答。