В Android-приложении я хотел бы обновить список только после прекращения выбора списка элементов в списке. Поэтому, по сути, я хотел бы, чтобы наблюдатель был проинформирован только после того, как производитель прекратил излучать не менее 500 мс.RxJava испускается только тогда, когда эмиттер останавливается
Сейчас у меня есть что-то вроде следующего:
Subject<Object> _bus = PublishSubject.create().toSerialized();
...
_bus.onNext(new Event());
...
_bus.delay(500, TimeUnit.MILLISECONDS)
.distinctUntilChanged()
.observeOn(Schedulers.computation())
.subscribe(event -> {
// Do something with event
}));
Это нормально, за исключением того, что излучает на 500 мс с интервалом, даже если источник еще излучающие. Я хотел бы подождать 500 мс, чтобы узнать, не прекратил ли источник звонить onNext()
и только потом испускает.
Возможно ли это?
Это не будет еще делать то, что я хочу. Плюс денонс пропустит эмиттансы. Я хочу, чтобы все различные значения обрабатывались – strangetimes