【发布时间】:2020-12-23 19:08:20
【问题描述】:
此代码运行良好。无论如何它都会返回Flux<Cars>。但我会知道它是否正确,因为 if 语句首先评估,但发布者评估订阅何时发生?
我应该将 if/else 语句与反应流分开使用吗?
class Example {
Flux<Cars> getCars(CarTypeEnum carTypeEnum) {
if (carTypeEnum == CarTypeEnum.VOLVO) {
return carRepository.getVolvoCars();
}
return carRepository.getAllCars();
}
}
【问题讨论】:
-
我相信这是你个人对如何想象你的代码如何增长和维护的偏好。例如,如果您的所有其他功能都使用 if/else 但这是唯一不使用的功能,我会更改它。否则,这是你的电话。
-
@KevinCrum 我是反应式世界的新手。到目前为止,我已经开始学习它。这是一个例子,没有其他代码
-
我认为代码本身就很好,代码中没有发生任何让你担心的事情。但是,如果您想更加安全,可以使用 Flux.defer 包装您的代码,这会使其变得懒惰。
标签: java project-reactor reactor