我试图了解Scala的承诺和未来的结构.
我一直在阅读Scala文档中的期货和承诺,我感到有点困惑,因为我觉得承诺和期货的概念是混淆的.
在我的理解中,承诺是一个容器,我们可以在以后填充价值.未来是某种异步操作,可以在不同的执行路径中完成.
在Scala中,我们可以使用附加的回调来获得结果.
我迷失的地方是未来的承诺?
我也在Clojure中读过这些概念,假设承诺和未来有一些通用的共同概念,但似乎我错了.
承诺p完成了p.future返回的未来.这个未来特定于承诺p.根据实施情况,可能是p.future eq p.
val p = promise[T]
val f = p.future
Run Code Online (Sandbox Code Playgroud) scala ×1