Rx java Rx-收到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

如何在收到onNext()后自动取消订阅

目前,我使用以下代码:

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)不接受。(因此你必须根据上下文检查你需要哪一个)这个问题需要更多的上下文,以便其他人帮助你回答。