Reactor Mono Zip 替代方案(代码质量改进)

问题描述 投票:0回答:0

我能以某种方式简化或改进这段代码吗?基本问题是我需要构建一个包含来自异步调用的多个值的 DTO。单声道和单声道

// getMovie returns Mono<Movie>
return getMovie(movieId)
    .flatMap(movie -> Mono.zip(
        getReleaseDate(movieId), // external call return Mono<Instant>
        getDirector(movie) // external call returns Mono<Director>
    ).map(it ->
        new MovieData(
            movieId,
            getMovieName(movie), // private function 
            it.getT1(),
            it.getT2()
    )));

我试图用 zipWith 改进它,但它使它变得更糟。

java mono project-reactor flux
© www.soinside.com 2019 - 2024. All rights reserved.