【发布时间】:2014-03-24 22:58:43
【问题描述】:
我正在尝试使用 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, Duration(10, SECONDS))
^
我做错了什么。
我正在关注文档:如何阻止结果
http://docs.scala-lang.org/overviews/core/futures.html
scala.concurrent.Future 不是按定义可等待的吗?我如何强制它成为?
【问题讨论】: