How to create Flux from Mono

trap picture trap · Mar 9, 2018 · Viewed 9.6k times · Source

I have a Mono A. The Object A contains two lists. I want to create direct two Flux. Is this possible without block()?

Mono<A> a = ... ;

Flux<AList1> a1 =  Flux.fromIterable(a.block().getList1());

Answer

mroman picture mroman · Mar 9, 2018

Use Mono.flatMapMany() method:

    Flux flux1 = mono.map(A::getList1).flatMapMany(Flux::fromIterable);
    Flux flux2 = mono.map(A::getList2).flatMapMany(Flux::fromIterable);