假设我有以下未来
val fut = Future { ... my expensive computation}
执行
await(fut)
仅在fut成功完成后返回? 如果fut失败了怎么办?异常会被传播吗?
答案 0 :(得分:1)
Async / await还不是Scala标准库的一部分。您可以在此处阅读更多信息:scala-async。
"等待"只能用于直接封闭" async"块。 " async" block将返回一个Future,其中包含它所包含的计算结果。等待"等待"将阻止计算,直到它等待的未来完成并返回它包含的成功值,否则抛出它遇到的异常。它会无法阻挡!
如果您想知道如何使用scala.concurrent.Await,可以阅读阻止部分here的简短教程。