【发布时间】:2018-09-06 09:04:48
【问题描述】:
我有List<T>,我需要使用BiFunction<R, T, Mono<R>> 聚合器来减少它。
所以我需要链接那些单声道 (Mono<R>)
使用项目反应器如何做到这一点?
更新:
例如,我有一个包含 item1、item2 等的列表...
我有一个函数Mono<R> reduce(T item, R acc)
我需要这样的东西:reduce(item1, startAcc).flatMap(acc -> reduce(item2, acc)).flatMap(acc -> reduce(item3, acc)) 等
我可以使用递归来实现,但如果列表足够长,我会得到 StackOverflowError
【问题讨论】:
-
您能否分享输入和所需的输出,以便我可以建议代码。
-
@VikramRawat 我有列表
, -
@VikramRawat 我有
List<T>,还有一个函数Mono<R> reduce(T item, R acc)我需要Mono所以,基本上,它是这样的: reduce(item1, startAcc).flatMap(acc -> reduce(item2, acc)).flatMap(acc -> reduce(item3, acc)).... -
我可以使用递归来实现这个,但是当它是一个长列表时会抛出 StackOverflowError
-
这是一个已知的错误 - github.com/reactor/reactor-core/issues/1441
标签: java mono reactive-programming project-reactor