[转] Scala Async 库 (Scala future, await, async)
[From] https://colobu.com/2016/02/15/Scala-Async/
在我以前的文章中,我介绍了Scala Future and Promise。Future
代表一个异步计算,你可以设置你的回调函数或者利用Await.result
等待获取异步计算的结果,你还可以组合多个future
为一个新的future
。Promise
让你可以控制是否完成计算还是抛出异常,它的future
方法返回一个Future
对象,complete
、success
和failure
允许你完成计算。如果想要同步操作,可以使用Await.result
等待Future
完成或者超时,对于没有实现Awaitable
的代码块,可以使用blocking
方法实现同步执行。
SIP-22 - Async的参考实现。这个Scala特性提议发布于2013年。