首页 > 解决方案 > Sprint Reactor Filter vs IF Then

问题描述

写得更好吗

Mono.just (someVariable)
       .filter (somVariable < 5)
       .flatmap (v -> doSomeStuff (v))
       .switchIfEmpty (Mono.error (...))

或者

Mono.just (someVariable)
       .flatmap (v -> { return somVariable < 5 ? doSomeStuff (v) : Mono.error (...)})

真的很重要还是两者都完全一样,但一个更“优雅”

标签: javaspringmonoreactor

解决方案


我会选择你的第一个选项,因为它在执行之前过滤.flatmap。这意味着,您将拥有较小的元素子集。

第二个论点是第一个选项对我来说更具可读性。


推荐阅读