问题
How to unsubscribe automatically after receiving onNext() ?
For now I use this code:
rxObservable
.compose(bindToLifecycle()) // unsubscribe automatically in onPause() if method was called in onResume()
.subscribe(new Subscriber<Object>() {
...
@Override
public void onNext(Object o) {
unsubscribe();
}
});
回答1:
I you want to "unsubscribe" just after the first event, the operator take
is a way to go.
rxObservable.compose(bindToLifecycle())
.take(1)
.subscribe();
回答2:
I think this is what you need:
rxObservable.compose(bindToLifecycle())
.takeFirst(lifecycleEvent -> lifecycleEvent == LifecycleEvent.PAUSE);
来源:https://stackoverflow.com/questions/38900610/rx-how-to-unsubscribe-automatically-after-receiving-onnext