我正在将用 RxJava 1.x 编写的小项目转换为 Reactor 3.x。一切都很好,只是我找不到如何用合适的对应物替换 flatMap(Observable::from)
。我有 Mono<List<String>>
我需要将它转换为 Flux<String>
。
原文由 Mavo 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在将用 RxJava 1.x 编写的小项目转换为 Reactor 3.x。一切都很好,只是我找不到如何用合适的对应物替换 flatMap(Observable::from)
。我有 Mono<List<String>>
我需要将它转换为 Flux<String>
。
原文由 Mavo 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为可能 Flux::mergeSequential
静态工厂更适合这里:
Iterable<Mono<String>> monos = ...
Flux<String> f = Flux.mergeSequential(monos);
这种合并(顺序)将保持给定源可迭代内部的顺序,并且还将热切地从所有参与的源订阅/请求(因此在计算单声道结果时预期会有更多的并行化)。
原文由 Michail Alexakis 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
在 Reactor 3 中,
from
运算符已专门化为几个变体,具体取决于原始来源(数组、可迭代等…)。在您的情况下使用
yourMono.flatMapMany(Flux::fromIterable)
。