scala - Scala中,Future[Option[A]]如何进行类型转换?

标签 scala generics functional-programming future

例如,有两个类:ABA中有一个方法叫做toB

现在有一个 a 类型的值 Future[Option[A]],将它转换为 Future 的最优雅的方法是什么[选项[B]]?

目前我正在使用 a.map(_.map(_.toB)),但我认为它看起来有点笨拙和困惑。有没有人有更好的方法来做到这一点? (隐式转换) 谢谢!

最佳答案

如果您需要对 Future[Option[?]] 的“堆栈”进行大量操作,您可以使用 monad transformer :

val a: OptionT[Future, A] = OptionT(...)
val b: OptionT[Future, B] = a.map(_.toB)

关于scala - Scala中,Future[Option[A]]如何进行类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29917542/

相关文章:

scala - 列表值的函数计算

eclipse - Spark 应用程序在 Eclipse 中使用 Scala 和 SBT

scala - Binding.scala 路由重定向到登录页面

scala - 为什么 Spray-can 服务器不响应 http 请求?

mongodb - 如何在响应式 mongo 中查询 BigDecimal 的类似查询

java - 泛型类型的集合

java 8 如何仅从 SummaryStatistics 返回总和和计数值

c# - 在不获取泛型类型实例的泛型方法中读取具体类属性

java - 仅适用于特定类型的通用类

javascript - CoffeeScript 中的 n 元 curry