Rx Java: испускает первый элемент, игнорировать ближайшие элементы в течение 5 секунд - PullRequest
0 голосов
/ 05 декабря 2018

Рассмотрим следующий случай:

  • Пользователь нажимает кнопку обновления несколько раз.
  • Я хочу обработать только один щелчок, игнорировать другие щелчки в течение 5 секунд.
  • Обработайте еще один новый щелчок, который появляется через 5 секунд.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

в Rxjava 2 , вы должны использовать оператор debounce , который испускает элемент из Observable, если определенный промежуток времени прошел без его испускания другого элемента

.debounce(300, TimeUnit.MILLISECONDS)
0 голосов
/ 05 декабря 2018

С rxjava2, Вы можете использовать:

.throttleFirst(1, TimeUnit.SECONDS)

Из документации javadoc :

throttleFirst : Возвращает наблюдаемоекоторый испускает только первый элемент, испускаемый источником ObservableSource в течение последовательных временных окон указанной длительности.

...