【发布时间】:2018-04-03 04:54:54
【问题描述】:
我对 Scala 还是很陌生,正在玩 Futures。我有一小段代码,它与我在教程中找到的版本略有不同。
object Tmp extends App {
val f = Future {
val r = Random.nextInt(500)
if (r < 499)
throw new RuntimeException("bad value")
r
}
f.onComplete(ff => {
if (ff.isSuccess) {
println(s"success ${ff.get}")
}
})
f.failed.foreach(t => s"failure ${t.getMessage}")
// do the rest of your work
println("A ..."); Thread.sleep(100)
println("B ..."); Thread.sleep(100)
println("C ..."); Thread.sleep(100)
println("D ..."); Thread.sleep(100)
println("E ..."); Thread.sleep(100)
println("F ..."); Thread.sleep(100)
Thread.sleep(1000)
}
每次我运行这个,输出是:
A ...
B ...
C ...
D ...
E ...
F ...
我没有看到代码执行的成功/失败部分
【问题讨论】:
标签: scala concurrency future