如何从具有 1 个元素的 Flux 转换为 Mono?
Flux.fromArray(arrayOf(1,2,1,1,1,2))
.distinct()
.take(1)
如何使它成为 Mono(1)?
如何从具有 1 个元素的 Flux 转换为 Mono?
Flux.fromArray(arrayOf(1,2,1,1,1,2))
.distinct()
.take(1)
如何使它成为 Mono(1)?
而不是take(1)
,您可以使用next()
.
这将通过获取第一个发射的项目将其转换Flux
为一个值Mono
,如果 Flux 本身为空,则将其转换为一个空的 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#shareNext
对于第一个找到的元素。flux.shareNext();
Flux#reduce
减少操作。例如:flux.reduce((i1,i2) -> i1);
或者,您可以在过滤后的 Flux 上使用 single()