欢迎!请查看 关于 页面以获取更多信息关于这是如何工作的。
基于 https://dev.clojure.org/display/design/Promises
Slack 上的讨论
增强 future/promise 以能在完成/失败时调用一个函数(如果我有这个功能,我会更多地使用 promises,但你可以用一些很丑的方式用 futures 和/或额外的函数/macros 来拼凑)。
future
promise
设计文档已移至 https://archive.clojure.org/design-wiki/display/design/Promises.html,它早于 java.util.concurrent.CompletableFuture,它提供了所有这些功能(以及更多)。
经过与 Ghadi 的讨论,我决定仅编写几个宏来提供对我所需的基本操作的语法糖。它们可以在 https://github.com/worldsingles/commons 中找到。
(-> (completable (do-some-stuff)) (then some-function) (exceptionally an-exception-handler) (deref))