Elixir Language
Государственная обработка в эликсире
Поиск…
Управление частью штата с Агентом
Самый простой способ обернуть и получить доступ к части состояния - это Agent
. Модуль позволяет создавать процесс, который сохраняет произвольную структуру данных и позволяет отправлять сообщения для чтения и обновления этой структуры. Благодаря этому доступ к структуре автоматически сериализуется, так как процесс обрабатывает только одно сообщение за раз.
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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow