由于更新代理的值存在延迟,因此Clojure提供了"await-for"函数,该函数用于指定等待代理更新的时间(以毫秒为单位)。
(await-for time agentname)
参数 - " agentname"是应将" await-for"函数设置为其的代理, "time"是等待的时间(以毫秒为单位)。
链接:https://www.learnfk.comhttps://www.learnfk.com/clojure/clojure-awaitfor.html
来源:LearnFk无涯教程网
返回值 - 如果由于超时而返回,则返回逻辑假,否则返回逻辑真。
以下程序显示了有关如何使用它的示例。
(ns clojure.examples.example (:gen-class)) (defn Example [] (def counter (agent 0)) (println @counter) (send-off counter + 100) (println (await-for 100 counter)) (println @counter) (shutdown-agents)) (Example)
上面的程序产生以下输出。
0 true 100
您可以从上面的程序中看到代理的值会立即显示在屏幕上,因为"wait-for"函数包含一个延迟,这使Clojure可以更新代理的值。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)