Reactor: как получить элементы из joinLatest для потоков, подмножество которых может быть пустымJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Reactor: как получить элементы из joinLatest для потоков, подмножество которых может быть пустым

Сообщение Anonymous »

Я использую метод Flux.combineLatest(combinator,stream1,stream2, ...) для получения последних элементов из каждого входного потока.
Это будет генерировать элемент только тогда, когда каждый входной поток выдает хотя бы одно значение, другими словами, ни один элемент не будет вытекать, если есть хотя бы один пустой поток, тогда как я объединяю потоки с двумя типами данных:
  • один, который должен содержать данные перед КомбайнLatest генерирует
  • другой, который является необязательным - отсутствие элементов в нем не должно блокировать выбросы от комбайна.
Как только дополнительные потоки начинают излучать данные, с ними следует обращаться так же, как с другими потоками с необходимыми данными.
Я просмотрел документацию по реактору и не смог найти подходящего оператора, который выполнил бы эту работу.
Единственный У меня есть обходной путь: добавить (

Код: Выделить всё

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

Подробнее здесь: https://stackoverflow.com/questions/726 ... f-can-be-e
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»