RxJava即将到期订阅

时间:2016-02-17 15:55:19

标签: java rx-java reactive-programming

我想对某个事件做出反应,如果它在某个时间窗口内且只有一次。现在,代码看起来像:

extern

但是,我希望这个动作不仅可以在事件被消耗1x之后取消订阅,而且如果事件没有在下一个300ms内发生。 如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

刚才意识到take()运算符也允许时间约束:

mServiceRestartEmitter.take(500, TimeUnit.MILLISECONDS).take(1).subscribeOn(Schedulers.io()).subscribe(action);

应该这样做。