1
我有一个方法,我想返回Future[Vector[user]]
。如何将未来[向量[UserLocation]]转换为未来[向量[User]]
方法userLocationService.getUserLocationsInList
将返回Future[Vector[UserLocation]]
。
其中用户位置看起来像:
case class UserLocation(id: Int, locationId: Int, userId: Int)
def getUsersInLocation(locationIdList: Set[Int]): Future[Vector[User]] = {
userLocationService.getUserLocationsInList(locationIdList).map{
userLocations =>
// ????????????
}
}
我有一个基于用户ID喜欢返回单个用户的方法:
userService.getById(userId: Int): Future[User]
如何建立一个未来[矢量[用户]鉴于上述?
对不起! getById返回Future [Option [User]]而不是Future [User]。这会让事情变得复杂吗? – Blankman
@Blankman然后你会得到一个'Vector [Option [User]]',你可以直接调用'flatten'。即'yield users.flatten'。 _Assuming_,你只是想丢弃你得到'None'的情况。 –
感谢它的工作,我做了第二个版本,并yield.flatten。出于好奇,我将如何将FlatMap版本中的用户变得扁平化?我尝试将所有内容都分配给val并调用users.flatten,但没有奏效。 – Blankman