2
我想对一个事件做出反应,如果它在一定的时间窗口内且只有一次。眼下,代码如下:RxJava到期订阅
mServiceRestartEmitter.take(1).subscribe(action);
但是,我想要的动作不仅退订后,该事件被消耗掉1个,而且如果事件没有下再说300毫秒之内发生的事情。 如何实现这一目标?
我想对一个事件做出反应,如果它在一定的时间窗口内且只有一次。眼下,代码如下:RxJava到期订阅
mServiceRestartEmitter.take(1).subscribe(action);
但是,我想要的动作不仅退订后,该事件被消耗掉1个,而且如果事件没有下再说300毫秒之内发生的事情。 如何实现这一目标?
就意识到take()
运营商也允许时间限制:
mServiceRestartEmitter.take(500, TimeUnit.MILLISECONDS).take(1).subscribeOn(Schedulers.io()).subscribe(action);
应该做的伎俩。