我有一个 Clojure promise 。当它实现或失败时,我想发起一个 Action 。如何在 Clojure 中做到这一点?
这里:http://dev.clojure.org/display/design/Promises then
和 recover
被描述,这应该提供定义此类回调的可能性,但正如我所见,它不在 clojure 核心中。
最佳答案
Clojure Promise 不会失败,因为它们不依赖于特定的执行线程。快速浏览 How do Clojure futures and promises differ?
聆听 future 或 promise Is there a way to be notified when a clojure future finishes?如果您不介意创建另一个线程,则显示一个可能的选项。
其他选项是使用一些 Java 库,例如 Guava ListenableFuture或者看看新奇的core.async
关于clojure - 当 Clojure promise 实现或失败时,如何听取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25137357/