00010 Scala Futures Promise
定义返回Future的方法
println("Step 1: Define a method which returns a Future")
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
def donutStock(donut: String): Future[Int] = Future {
// assume some long running database operation
println("checking donut stock")
10
}阻塞方式获取Future的值
println("\nStep 2: Call method which returns a Future")
import scala.concurrent.Await
import scala.concurrent.duration._
val vanillaDonutStock = Await.result(donutStock("vanilla donut"), 5 seconds)
println(s"Stock of vanilla donut = $vanillaDonutStock")非阻塞方式获取Future的值
Future链
flatmap VS map
Future.sequence() VS Future.traverse()
Future.foldLeft VS Future reduceLeft
Future firstCompletedOf
Future zip VS zipWith
Future andThen
自定义threadpool
recover() recoverWith() and fallbackTo()
promise
最后更新于
这有帮助吗?