gpt4 book ai didi

Java Rx react 器 : conditional doOnNext

转载 作者:行者123 更新时间:2023-12-01 18:00:30 25 4
gpt4 key购买 nike

我正在寻找一种方法来确保某些函数有条件地为流运行。基本上对于每个 updateMessage,我希望始终运行 processType1,并且仅根据 updateMessage 中是否存在字段来运行 processType2 和/或 processType3。这就是我目前的立场:

public Mono<List<Leaderboard>> processUpdate(UpdateMessage updateMessage) {

return processType1(updateMessage)
.flatMap(event -> {
if (updateMessage.getId1() != null) {
return processType2(updateMessage);
}
return Mono.empty();
})
.flatMap(event -> {
if (updateMessage.getId2() != null) {
return processType3(updateMessage);
}
return Mono.empty();
});
}

我不想要空的 Monos,但如果我删除它们,它会提示我没有返回任何东西。我尝试了 doOnNext,但我似乎无法返回任何内容。

最佳答案

如果 ids 为空,你不能像这样返回最后一个 processType 结果的 Mono:

           return processType1(updateMessage)
.flatMap(event -> {
if (updateMessage.getId1() != null) {
return processType2(updateMessage);
}
return Mono.just(event);
}).flatMap(event -> {
if (updateMessage.getId2() != null) {
return processType3(updateMessage);
}
return Mono.just(event);
});

关于Java Rx react 器 : conditional doOnNext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60642385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com