Bloqueia o segmento atual (indefinidamente!) Até que todas as ações despachadas até agora, deste segmento ou agente, para o (s) agente (s) tenham ocorrido. Bloqueará em agentes com falha.
Sintaxe
A seguir está a sintaxe.
(await agentname)
Parameters - 'nomedagente' é o agente para o qual a função de espera deve ser definida.
Return Value - Nenhum.
Exemplo
Um exemplo de como isso é usado é mostrado no programa a seguir.
(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)
Resultado
O programa acima produz a seguinte saída.
0
100
Você pode ver no programa acima que o valor do agente é impresso na tela imediatamente porque a função await irá esperar que Clojure atualize primeiro o valor da função e só então retornará o controle ao programa de chamada.
clojure_agents