哪个更适合这种情况。 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
...)并且非常易读(可以说比第二个更易读)所以我会同意
我有一个外部电话要在一个 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
...)并且非常易读(可以说比第二个更易读)所以我会同意