如何使用Mono-List来处理输入



我有一个输入值,需要传递一个Mono链来处理它下一个输入依赖于上一个结果

public class MonoMapReplaceTest {
public static void main(String[] args) {
String originStr = "hello";
List<String> rules = List.of("+1", "+2", "+3");
List<Mono<String>> monos = new ArrayList<>();
for (String rule : rules) {
Mono<String> valueFromRemote = getValueFromRemote(rule, originStr);
monos.add(valueFromRemote);
}
}
private static Mono<String> getValueFromRemote(String input,String originStr) {
return Mono.just(input + originStr);
}
}

预期结果:+1+2+3hello

出于这些目的,请不要使用List<Mono>,因为你需要订阅每个单声道,而且你需要订阅一次。如果需要,最好使用Flux或Mono,即Mono,如下所示:

String originStr = "hello";
List<String> rules = List.of("+1", "+2", "+3");
return Mono.just(rules)
.map(r -> {
String join = String.join("", r);
return join + originStr;
});

最新更新