0
我是新來斯卡拉多個未來完成,剛開始學習使用Scala的API完全無阻塞性質如何在斯卡拉訂做加工取決於
我需要經過2個任務完成執行功能,curenly我這樣做以下方式:
import scala.concurrent._
import scala.util._
import scala.concurrent.duration._
val f1:Future[Int] = Future({
Thread.sleep(800)
println(5)
5
})
val f2: Future[Int] = Future({
Thread.sleep(500)
println(6)
6
})
val combined: Future[List[Int]] = Future.sequence(List(f1, f2))
combined.onComplete {
case Success(li) => li.foldLeft(0)((sum, x) => sum + x)
case Failure(t) => -1
}
Await.result(combined, 1 second)
有沒有更直接的方法來做到這一點?