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