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

欢迎!请查看 关于 页面以获取更多信息关于这是如何工作的。

0
Clojure

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

Slack 上的讨论

增强 future/promise 以能在完成/失败时调用一个函数(如果我有这个功能,我会更多地使用 promises,但你可以用一些很丑的方式用 futures 和/或额外的函数/macros 来拼凑)。

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))
...