どのように反復することが可能ですか Future[Seq[]]
追加する Int
値を Seq
これを返す Seq
?
私のコードは次のようになります:
def createCopyOfProcessTemplate(processTemplateId: Int): Action[AnyContent] = Action.async {
processTemplateDTO.createCopyOfProcessTemplate(processTemplateId).map { process =>
processTemplateDTO.getProcessStepTemplates(processTemplateId).map { steps =>
steps.foreach(processStep =>
processTemplateDTO.createCopyOfStepTemplates(processTemplateId, process.get.id.get, processStep))
}
// Fetch all Steps which belongs to this Template
val processSteps: Future[Seq[ProcessStepTemplatesModel]] = processTemplateDTO.getProcessStepTemplates(processTemplateId)
val stepIds:Seq[Int]=Seq()
processSteps.map(
steps => steps.foreach(
step => stepIds:+step.id
)
)
Ok(Json.obj("process" -> process, "steps" -> stepIds))
}
}
非同期性のため、私は思う、 Seq
空です。どうすれば解決できますか?
回答:
回答№1の場合は3別のアプローチを取ることもできます。
Action.async {
...
processSteps.map(_.map(_.id))
.map(ids => Ok(Json.obj("process" -> process, "steps" -> ids)))
}