class ClassName(id:String, etc:String, long:Long)
一个从DB返回该对象的函数
Future[Option[ClassName]]
我希望将结果(Future [Option])转换为带有它的值的类,或者是Map [String,AnyRef]
有谁知道如何处理这种转变?我没有在互联网上找到任何答案
答案 0 :(得分:-2)
我设法创建这个函数,它返回我未来的类。
它不是通用的,所以它不会很优雅,但它可以完成工作
<德尔> def convertToClass(futureEntity:Future [Option [ClassName]]):ClassName = { var newClass:ClassName = null futureEntity onComplete { 案例成功(价值)=&gt; 值匹配{ case Some(s)=&gt; newClass = s case None =&gt;空值 } case Failure(e)=&gt; e.printStackTrace 空值 } 的NewClass } 德尔>修改强> 那种方法不起作用。这个确实:
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
}