【发布时间】:2014-08-08 10:36:18
【问题描述】:
我不知道为什么这不起作用:
import scala.concurrent.future
import scala.concurrent.Future
import scala.concurrent.ExecutionContext
import scala.concurrent.ExecutionContext.Implicits.global
object FutureTest {
def main(args: Array[String]) {
val result1 = future("a")
val result2 = future("b")
val result3 = future("c")
val res = for {
r1 <- result1
r2 <- result2
r3 <- result3
} yield (r1 + r2 + r3)
for { r <- res} yield(println(r))
}
}
我希望这会打印“abc”,但实际上什么也没发生。
【问题讨论】:
-
在我的情况下打印“abc”...
-
我修复了这个问题,添加了一个 Await.result(res, 3 minutes) 其中 res 是从 for 分配的 val。
标签: scala future for-comprehension