我堅持弄清楚爲什麼這不起作用:爲什麼這個簡單的Scala理解不會執行期貨?
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」在我的情況.. – Christian
我解決了這個問題,添加了一個Await.result(res,3分鐘),其中res是一個從for分配的val。 – sscarduzio