Clojure - await-for



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

语法

以下是语法。

(await-for time agentname)

参数 - “agentname” 是要为其设置“await-for”函数的代理。“time” 是要等待的时间(以毫秒为单位)。

返回值 - 如果由于超时而返回,则返回逻辑假,否则返回逻辑真。

示例

以下程序展示了如何使用它。

(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

从上面的程序可以看出,代理的值立即打印到屏幕上,因为“await-for”函数包含了一个延迟,这使得 Clojure 能够更新代理的值。

clojure_agents
广告

© . All rights reserved.