kotlin - Spring Webflux - 如何以反应友好的方式转换波纹管代码?
问题描述
fun getProjectOverview(fiscalYear: Int): ProjectOverview? {
val projectList: List<Project> = projectRepo.findAllProjects(fiscalYear)
return if (projectList.isNotEmpty()) {
val totalProjects = projectList.size
val completedProjects = projectList.count { it.status == "COMPLETED" } //Add enums
val meanScheduledVariance = (projectList.sumBy { it.schedule_variance } / totalProjects)
val meanCostVariance = (projectList.sumBy { it.cost_variance } / totalProjects)
ProjectOverview(totalProjects, completedProjects, meanScheduledVariance, meanCostVariance)
} else {
null
}
}
这是我的服务的业务逻辑,下面给出了我目前在控制器中所做的事情。
Mono.justOrEmpty(projectService.getProjectOverview(fiscalYear)).toFuture()
我想做的是将我的服务功能更改为反应友好的方式。由于我对响应式编程有点陌生,我不知道如何处理 Mono 中的业务逻辑。
解决方案
推荐阅读
- javascript - 路由仪表板组件的正确方法是什么?
- ansible - 如何在 CI 上测试包含重启任务的 Ansible 角色?
- python - RuntimeError: 你不应该在 `Formula` 上调用 `__bool__` / `__nonzero__`
- spring-boot - 我有一个问题,Spring Tools 商店给了我这个错误
- html - 无法与其容器内的 div 交互
- python - Pandas 使用条件参数查找最近的日期时间索引
- office-addins - Copyleaks MS Word 附加组件
- javascript - 如何解决我的加密货币购买程序中的这个简单错误?
- javascript - Firebase 实时数据库中 snapshotChanges 的事务和行为
- python - Pygame Mixer 模块不可用