将 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
}
我有一个
class ClassName(id:String, etc:String, long:Long)
还有一个函数,returns 数据库中的对象作为
Future[Option[ClassName]]
我想将该结果(Future[Option])转换为 class 及其值,或 Map[String, AnyRef]
有谁知道如何处理这个转换?我一直没有在互联网上找到任何答案
我设法创建了这个功能,returns 我是未来的 class。
它不是通用的,所以它不会很优雅,但它完成了工作
编辑: 那个方法行不通。这个是:
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
}