异步/等待Scala异步框架

时间:2015-07-14 21:54:05

标签: scala async-await future

假设我有以下未来

val fut = Future { ... my expensive computation}

执行

await(fut) 

仅在fut成功完成后返回? 如果fut失败了怎么办?异常会被传播吗?

1 个答案:

答案 0 :(得分:1)

Async / await还不是Scala标准库的一部分。您可以在此处阅读更多信息:scala-async

"等待"只能用于直接封闭" async"块。 " async" block将返回一个Future,其中包含它所包含的计算结果。等待"等待"将阻止计算,直到它等待的未来完成并返回它包含的成功值,否则抛出它遇到的异常。它会无法阻挡!

如果您想知道如何使用scala.concurrent.Await,可以阅读阻止部分here的简短教程。