当前位置: 首页 > 文档资料 > Clojure 中文教程 >

await-for

优质
小牛编辑
131浏览
2023-12-01

由于更新代理的值时存在延迟,因此Clojure提供了“await-for”函数,该函数用于指定等待代理更新的时间(以毫秒为单位)。

语法 (Syntax)

以下是语法。

(await-for time agentname)

Parameters - 'agentname'是应将'await-for'函数设置为的代理。 'time'是等待的时间(以毫秒为单位)。

Return Value - 如果由于超时而返回,则返回逻辑false,否则返回逻辑true。

例子 (Example)

以下程序显示了如何使用它的示例。

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

输出 (Output)

上述程序产生以下输出。

0
true
100

您可以从上面的程序中看到代理的值立即打印到屏幕上,因为'await-for'函数包含了一个延迟,这允许Clojure更新代理的值。