我想对某个事件做出反应,如果它在某个时间窗口内且只有一次。现在,代码看起来像:
extern
但是,我希望这个动作不仅可以在事件被消耗1x之后取消订阅,而且如果事件没有在下一个300ms内发生。 如何实现这一目标?
答案 0 :(得分:1)
刚才意识到take()
运算符也允许时间约束:
mServiceRestartEmitter.take(500, TimeUnit.MILLISECONDS).take(1).subscribeOn(Schedulers.io()).subscribe(action);
应该这样做。