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);
應該做的伎倆。