Buscar..


Manejar un estado con un agente

La forma más sencilla de envolver y acceder a un estado es Agent . El módulo permite generar un proceso que mantiene una estructura de datos arbitraria y permite enviar mensajes para leer y actualizar esa estructura. Gracias a esto, el acceso a la estructura se serializa automáticamente, ya que el proceso solo maneja un mensaje a la vez.

iex(1)> {:ok, pid} = Agent.start_link(fn -> :initial_value end)
{:ok, #PID<0.62.0>}
iex(2)> Agent.get(pid, &(&1))
:initial_value
iex(3)> Agent.update(pid, fn(value) -> {value, :more_data} end)
:ok
iex(4)> Agent.get(pid, &(&1))
{:initial_value, :more_data}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow