我想要将一个 List [Option [List [Double]]]
转换为一个 Option [List [List [Double]]]
,如果其中一个选项失败(封装在 Future
中),则返回 None
。通常我应该能够使用 Scalaz 库中的.sequence
。但是当出现以下问题时:
val matrix = for {
listOfOptions <- futureListOfOptions
optionOfList <- listOfOptions.sequence
} yield optionOfList
matrix: 未来[无]
listOfOptions: scala.List [Option [scala.List [Double]]]
optionOfList: 任何
我做错了什么?
Future[List[Option[List[Double]]]
这样的类型,你最好把它们展平。 - dveimNone
,但是如果我展开它,我就没有了。我之所以会有这样的“混乱”,是因为它来自于Map
的值,这些值的类型为Future[Option[List[Double]]]
(针对服务器向量的查询,因此需要使用future)。 - DennisVDBmatrix
类型? - Rhys Bradbury