RxJava буфер противодавления, когда это необходимо - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь получить желаемое поведение с помощью RxJava и не могу понять, как это сделать.

Я хочу буфер переменной длины BackPressureStrategy.

IE мой подписчикget посылает все элементы по отдельности, когда нет противодавления.Когда возникает обратное давление, я хочу получить все новые элементы (в виде списка), которые были опубликованы между последним вызовом моего потребителя и сейчас.

Возможно ли это>

1 Ответ

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

Вы можете использовать оператор buffer() для создания списка элементов.Вариации оператора позволяют вам установить максимальный размер или максимальный период времени, в течение которого можно собирать элементы, или использовать вторую наблюдаемую для запуска конца буфера.

В качестве крайнего примера вы можетесоздайте наблюдаемый элемент управления потоком, который управляет буфером.Например, используя оператор debounce(), чтобы контролировать, когда создается буфер.Прочитайте примеры RxJava

...