gpt4 book ai didi

jquery - Clojure 相当于 jQuery Deferred?

转载 作者:行者123 更新时间:2023-12-01 03:11:10 25 4
gpt4 key购买 nike

Clojure 有 promisefuturedelay 等,但它们在语义上都与 jQuery 中的 Deferred 对象相似。如果在值可用之前取消引用,它们通常会阻塞。延迟对象利用回调。 Clojure(不是 ClojureScript)本身提供了什么与 jQuery Deferred 类似的功能?

最佳答案

您可以使用其他 Clojure 构造来获取您正在寻找的内容,但我认为核心 Clojure 中没有任何类似的内容。

作为一个简单的示例,它使用 future 但将计算值提供给所提供的回调函数:

(defn deferred [func cb]
(future (let [v (func)]
(cb v))))

;; (deferred #(do (Thread/sleep 1000) 7) #(println %))

您可以添加特殊的异常处理,并使用 future-done?检查一个值是否准备好而不阻塞等等。 (面向回调的异步行为方法在某些情况下非常出色,但如果您没有对 Clojure 提供的其他方法进行过多次实验,您可能会发现它们也很适合。)

关于jquery - Clojure 相当于 jQuery Deferred?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29859823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com