我用平面图附加通量,但如果我添加其他平面图,则只返回最后一个平面图。
// Here is an example of the Mono function
private Mono<MyType> appendFirstMono(Group group) {
return Mono.just(group)
.map(MyType::new)
.flatMap(g -> functionZ(group)
.map(g::setField));
}
//This works as expected
public Flux<MyType> function1() {
return returnData(id)
.thenMany(service.getData(id))
.flatMap(this::appendFirstMono);
}
//This does not and only returns the last mono (3rd)
public Flux<MyType> function1() {
return returnData(id)
.thenMany(service.getData(id))
.flatMap(this::appendFirstMono)
.flatMap(this::appendSecondMono)
.flatMap(this::appendThirdMono);
}
//I've attempted to fix with this... Doesn't work as expected.
public Flux<MyType> function1() {
return returnData(id)
.thenMany(service.getData(id))
.flatMap(x -> {
return Flux.merge(
appendFirstMono(x),
appendSecondMono(x),
appendThirdMono(x)
);
});
}
我需要在通量上处理每个Mono函数,但我似乎无法让每个函数正确执行和返回。
你可以试着用concat一个接一个地处理单声道,看看我的例子
Flux.concat(getMono(0),getMono(1),getMono(2))
.map(integer -> {
System.out.println(integer);
return integer;
})
.subscribe();
}
private Mono<Integer> getMono(Integer a) {
return Mono.just(a)
;
}
这将打印0,1,2
生成字符串:
谢谢,有用。但是我有什么办法可以去掉多余的“,”吗?这是由于列中存在空白值造成的。有没有一种方法可以不接受那些有空白值的列?它现在显示的是: 我多么想要它:
我运行一个大型的minecraft服务器,minecraft服务器端是单线程的。一切都是在主游戏循环中完成的。如果Mojang使minecraft服务器端多线程化,minecraft服务器每年将节省200万美元,因为租用的硬件更少。 不管怎样,我听说过这些谣言和理论。我从来都无法用谷歌搜索并弄清楚。 有没有必要使用多核cpu,并将其转换为单核、单线程? 我一直在猜测虚拟机管理程序软件将运行多线程,
问题内容: 我有一个有效的正则表达式: 我也有一个正则表达式: 但是我不知道如何将两者结合起来 我试过了,但实际上没有用… 如果重要的话,这就是Java正则表达式中的全部内容。 问题答案: 如果您想要匹配以或开头的序列的正则表达式,请尝试以下操作: 但是除了周围的两个空格字符外,您的正则表达式也应该与之匹配: 这两个正则表达式匹配同一组字符串。
首先,我对反应式编程有点陌生。在参加了一些关于reactor和spring 5.0的演讲后,我想自己尝试一下这个编程模型。 我有一个应用程序,它使用WebClient从不同的API构建两个Flux对象。我想将这2个对象组合成一个并将其返回给用户。 代码示例如下所示: 现在在我的handler方法中: 我应该使用反应器API中的什么方法来实现这一点?我找到了一些方法来组合像组合最新的对象,但是在这种
主要的问题是第五次会议的形式是什么