Rx Java仅订阅发出的一个项目
问题描述:
我有一个BehaviorSubject data
,其中包含实际数据(或者没有任何内容,如果没有发送到它)。我只想订阅它发出的一个项目,即要么是当前观察值,要么是从其他地方传递给它的第一个项目。我目前按照以下方式进行:Rx Java仅订阅发出的一个项目
Subscription firstItemSubscription = data.subscribe(item -> {
firstItemSubscription.unsubscribe();
processItem(item);
});
是否有我可以使用的操作员或变压器?或者可能有完全不同的,更多的Rx方法,可以让我做我想做的事情?
答
是使用只需要使用take(1)
Observable observable = //some observable
observable.take(1).subscribe(/* do your thing */);