Как я могу преобразовать Flux с 1 элементом в Mono?
Flux.fromArray(arrayOf(1,2,1,1,1,2))
.distinct()
.take(1)
Как мне сделать это моно (1)?
Как я могу преобразовать Flux с 1 элементом в Mono?
Flux.fromArray(arrayOf(1,2,1,1,1,2))
.distinct()
.take(1)
Как мне сделать это моно (1)?
Вместо take(1)
вы можете использовать next()
.
Это преобразует Flux
в оцениваемый Mono
, взяв первый испущенный элемент, или пустой Mono, если сам поток пуст.
Вот список:
Flux#single
будет работать, если есть один элемент из Flux
. Например: flux.take(1).single();
Flux#next
доставит вам первый элемент. Например: flux.next();
Flux#last
для последнего элемента. Например: flux.last();
Flux#singleOrEmpty
похож на Optional
. Например: flux.take(0).singleOrEmpty();
Flux#collect
, это зависит от варианта использования.
flux.collect(Collectors.reducing((i1, i2) -> i1))
.map(op -> op.get());
Flux#elementAt
для i-го индекса. Например: flux.elementAt(1);
Flux#publishNext
для первого найденного элемента. flux.publishNext();
Flux#reduce
для редукции op. Например: flux.reduce((i1,i2) -> i1);
Или вы можете использовать single () для отфильтрованного потока