【发布时间】:2014-03-16 18:13:39
【问题描述】:
User 是一个案例类:
case class User(id: Long, firstName: String, lastName: String)
搜索函数返回Future[Option[List[User]]]。从这个未来,我想提取一个Map[Long, User],以 id 作为键。现在我正在使用以下方法来提取地图,但应该有更好的方法来完成它。
def users: Future[Map[Long, User]] = {
for {
future <- search(...)
} yield for {
users <- future
} yield for {
user <- users
} yield user.id -> user
}.map(_.map(_.toMap))
【问题讨论】: