如何一一处理单声道列表?

How to process list of monos one by one?

我有一个清单

List<Tuple3<Object1, Mono<List<Object2>>, Mono<List<Object3>>>>

我需要写一个签名为

的方法
private Mono<Dto> buildDto(List<Tuple3<Object1, Mono<List<Object2>>, Mono<List<Object3>>>> tuples) {...}

如何逐一跟踪 tuples 列表中的所有项目以获得 Object1、Object2、Object3 的值而不跳过其中任何一个?

我尝试执行

AtomicReference<Dto> dtoAtomic = new AtomicReference<>(buildEmptyDto());
return tuples.stream()
         .map(tuple3 -> {
             return Mono.zip(tuple3.getT2(), tuple3.getT3(),
                             (object2, object3) -> {
                                 Dto dto = dtoAtomic.get();

                                 dtoAtomic.set(dto);
                                 return dto;
                             });
         })
         .collect(Collectors.toList())
         .stream()
         .findFirst()
         .orElse(Mono.just(dtoAtomic.get()))

但是只能得到一个Mono.zip(...) 但是我需要得到所有的元组

使用Flux.fromIterable(tuples)

解决