我在我的scala play项目中有以下功能:
def teamMainPlayer (teamId: Option[String]): String ={
val playersList = Players.getAll(p => (p.team === teamId.getOrElse("NULL")) && (p.role === "Main Player") )
playersList.head.playerId
}
}
我收到错误:
value head is not a member of scala.concurrent.Future[Seq[model.Player]]
我的目标是返回被视为“主要播放器”的播放器的ID
答案 0 :(得分:3)
playersList是包含列表的Future(实际上是Seq)。您可以以阻止方式获取Future的值(不推荐),也可以让函数返回Future并执行此操作:
playersList.map(_.head.playerId)
在任何一种情况下,我建议您阅读有关期货的更多信息:https://docs.scala-lang.org/overviews/core/futures.html