我什么时候使用 Mono.flatMapIterable 与 Mono.flapMapMany?

when do I use Mono.flatMapIterable vs Mono.flapMapMany?

reactor 新手,试图理解 Mono.flatMapManyMono.flatMapIterable 经常处理包含集合的对象的 Mono。

有什么区别:

        Mono.just(List.of("one", "two", "three")).log().flatMapMany(Flux::fromIterable).subscribe(System.out::println);
        Mono.just(List.of("one", "two", "three")).log().flatMapIterable(l -> l).subscribe(System.out::println);

我什么时候使用每种方法?

谢谢

Mono#flatMapMany 是通用的一对多运算符。
Mono#flatMapIterable 是一个特殊的运算符,用于将表示为 Iterable<T> 的项目 "flatten" 转换为 T.

的反应流

尽可能使用 Mono#flatMapIterable(映射器可以 return 迭代)因为它经过优化,当您的映射器 return 有 Publisher 个项目时使用 Mono#flatMapMany .