【发布时间】:2018-03-15 19:20:03
【问题描述】:
您好,我有以下代码块
processSteps.map {
step =>
val prerequisiteFuture = processStepPrerequisitesDTO.getProcessStepPrerequisiteProcessTemplateIds(step.id.get)
prerequisiteFuture.map(prereqTemplates => {
processTemplateDTO.getProcessTemplates(prereqTemplates).map(pres => {
step.stepPrerequisites = Some(pres)
// Fetches the ProcessStep Prerequisites
processStepPrerequisitesDTO.getProcessStepPrerequisitesByProcessTemplateId(step.id.get).map(processStepPrerequisites => {
processStepPrerequisites.map(processStepPrerequisite => { // Eintzelne Vorbedingung
// Feteches The Reference to the Process Step Prerequisite Template
processStepPrerequisitesDTO.getProcessStepsPrerequisiteProcessTemplate(step.id.get).map(preReqs => {
preReqs.foreach(preReqRelation => {
processStepPrerequisite.processTemplate_id = preReqRelation.processtemplate
processStepPrerequisite
})
})
processStepPrerequisites
})
step.prerequisites = Some(processStepPrerequisites)
})
step
})
})
我想从数据库中获取一些数据,然后我必须重新组织一些数据。
它工作...但不是很好
问题是:
1) 代码效率不高
2)通常它会在processStepPrerequisite结束时返回步骤并且没有中间部分
解决这个问题的好方法是什么?谢谢
【问题讨论】:
-
使用 for comprehension 代码的可读性会“大大提高”
标签: scala playframework playframework-2.0