我刚刚开始学习scala / akka,并对以下用于更新问题的代码感到困惑。我正在完成以下教程:http://danielasfregola.com/2016/02/07/how-to-build-a-rest-api-with-akka-http/
令我困惑的部分是为什么在处理更新问题的PUT请求时会执行以下操作:
val updatedQuestion = updateEntity(question)
deleteQuestion(id).flatMap { _ =>
createQuestion(updatedQuestion).map(_ => Some(updatedQuestion))
根据我的理解,deleteQuestion已经排除了我们尝试更新的问题(使用filterNot),但是为什么它会执行flatMap,然后在createQuestion之上创建另一个地图。非常感谢!