Bloquea el hilo actual (¡indefinidamente!) Hasta que se hayan realizado todas las acciones despachadas hasta el momento, desde este hilo o agente, al agente (s). Bloqueará a los agentes fallidos.
Sintaxis
A continuación se muestra la sintaxis.
(await agentname)
Parameters - 'agentname' es el agente para el que se debe establecer la función de espera.
Return Value - Ninguno.
Ejemplo
En el siguiente programa se muestra un ejemplo de cómo se usa.
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def counter (agent 0))
(println @counter)
(send-off counter + 100)
(await counter)
(println @counter)
(shutdown-agents))
(Example)
Salida
El programa anterior produce la siguiente salida.
0
100
Puede ver en el programa anterior que el valor del agente se imprime en la pantalla inmediatamente porque la función de espera esperará a que Clojure actualice primero el valor de la función y solo entonces devolverá el control al programa de llamada.
clojure_agents