/ / PlayフレームワークScalaプロジェクト:Seqにintを追加して返す-scala、playframework

PlayフレームワークScalaプロジェクト:Seqにintを追加して返す-scala、playframework

どのように反復することが可能ですか 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)))
}