斯卡拉未来不值得期待?
发布时间:2020-12-16 18:12:37 所属栏目:安全 来源:网络整理
导读:我正在尝试使用 scala Futures从网络服务密钥/值存储实现线程批量获取. 大致 import scala.concurrent._import scala.concurrent.ExecutionContext.Implicits.globalimport scala.concurrent.duration._def bulkGet(keys: List[String]) val listFut = keys.
我正在尝试使用
scala Futures从网络服务密钥/值存储实现线程批量获取.
大致 import scala.concurrent._ import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.duration._ def bulkGet(keys: List[String]) val listFut = keys.map( future{ "network get request here" } ) val values = Future.sequence(listFut) Await.result(values,Duration(10,SECONDS)) 给我一个编译错误 [info] Compiling 1 Scala source to .../target/scala-2.10/classes... [error] .... type mismatch; [error] found : scala.concurrent.Future[List[String]] [error] required: scala.concurrent.Awaitable[scala.concurrent.Future[List[String]]] [error] Await.result(values,SECONDS)) ^ 我究竟做错了什么. 是scala.concurrent.Future不是定义Awaitable?我该如何强迫它? 解决方法
如果我修复了示例代码中的语法(通过将def的主体放入块中,并使用_ => Future {“network get request here”}替换未来{“network get request here”}),则编译和工作.问题出在代码的其他部分.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |