Rx Java只订阅一个发出的项目

时间:2016-04-27 17:14:31

标签: java rx-java

我有一个包含实际数据的BehaviorSubject data(如果没有发布任何内容,可能没有任何内容)。我想只订阅它发出的一个项目,即当前观察值或从其他地方传递给它的第一个。我目前正在以下列方式进行:

Subscription firstItemSubscription = data.subscribe(item -> {
    firstItemSubscription.unsubscribe();
    processItem(item);
});

我可以使用任何操作员或变压器吗?或者可能有完全不同的,更多的Rx方法可以让我做我想做的事情?

1 个答案:

答案 0 :(得分:4)

是使用只需要使用take(1)

Observable observable = //some observable

observable.take(1).subscribe(/* do your thing */);