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
廣告