将 Future 转换为 class 或 Map

Transform Future into class or Map

我有一个 class ClassName(id:String, etc:String, long:Long)

还有一个函数,returns 数据库中的对象作为 Future[Option[ClassName]]

我想将该结果(Future[Option])转换为 class 及其值,或 Map[String, AnyRef]

有谁知道如何处理这个转换?我一直没有在互联网上找到任何答案

我设法创建了这个功能,returns 我是未来的 class。

它不是通用的,所以它不会很优雅,但它完成了工作

def convertToClass(futureEntity: Future[Option[ClassName]]): ClassName = { var newClass: 类名 = null futureEntity onComplete { 案例成功(价值)=> 价值匹配{ 案例 Some(s) => newClass = s 案例 None => 空 } 案例失败(e)=> e.printStackTrace 无效的 } 新班级 }

编辑: 那个方法行不通。这个是:

def convertToMyClass(futureEntity: Future[Option[ClassName]]): ClassName = {
    var myClass: ClassName = null
    Await.ready(futureEntity andThen {
      case Success(value) =>
        value match {
          case Some(s) => myClass = s
          case None => null
        }
      case Failure(e) => e.printStackTrace
        null
    }, Duration.Inf)
    myClass
  }