2024年Clojure状态调查中分享您的想法!

欢迎!请参阅关于页面了解有关此功能的一些更多信息。

0 投票
Clojure

基于 https://dev.clojure.org/display/design/Promises

Slack上的讨论

增强future/promise,使其能够在完成/失败时调用一个函数(如果您有这个功能,我会更多地使用承诺,但您可以通过使用未来和/或额外的函数/宏以不堪入目的方式进行修补)。

2 个回答

+1 投票
参考:https://clojure.atlassian.net/browse/CLJ-2487(由seancorfield报告)
0 投票

设计文档已移至 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))
...