哪个更适合这种情况。 zipWith 还是 .map?

Which one suits better this case. zipWith or .map?

我有一个外部电话要在一个 Mono 中设置一些信息,我可以使用 .zipWith.map 来解决它,但我不知道哪个应该更多正确使用。

我的方法是这样的:

private Mono<Foo> callExtraInfo(Foo foo) {
    return  reactiveClient.getInfo()
             .map(info -> {
               foo.setInfo(info);
               return foo;
             }); 

但我认为使用 .zithWith 对我来说更有意义,因为它向原始 Mono 添加了额外的信息:

private Mono<Foo> callExtraInfo(Foo foo) {
    return  reactiveClient.getInfo()
             .zipWith(Mono.Just(foo))
             .map(it -> {
               Foo result = it.getT2();
               result.setInfo(it.getT1());
               return result;
             });

我想知道一些不同的意见

鉴于 Foo 对象很容易获得,第一个解决方案更简单并且开销更少(没有额外的 zip,没有额外创建 Tuple2...)并且非常易读(可以说比第二个更易读)所以我会同意