Elixir语言中 Agent.update
相关用法介绍如下。
用法一
update(agent, fun, timeout \\ 5000)
@spec update(agent(), (state() -> state()), timeout()) :: :ok
通过给定的匿名函数更新代理状态。
函数fun
被发送到调用传递代理状态的函数的agent
。 fun
的返回值成为代理的新状态。
此函数始终返回 :ok
。
timeout
是一个大于零的整数,它指定在代理执行函数并返回结果值之前允许多少毫秒,或者原子:infinity
无限期等待。如果在指定时间内没有收到结果,则函数调用失败,调用者退出。
例子
iex> {:ok, pid} = Agent.start_link(fn -> 42 end)
iex> Agent.update(pid, fn state -> state + 1 end)
:ok
iex> Agent.get(pid, fn state -> state end)
43
用法二
update(agent, module, fun, args, timeout \\ 5000)
@spec update(agent(), module(), atom(), [term()], timeout()) :: :ok
通过给定的函数更新代理状态。
与
相同,但需要一个模块、函数和参数,而不是匿名函数。状态作为第一个参数添加到给定的参数列表中。update/3
例子
iex> {:ok, pid} = Agent.start_link(fn -> 42 end)
iex> Agent.update(pid, Kernel, :+, [12])
:ok
iex> Agent.get(pid, fn state -> state end)
54
相关用法
- Elixir Agent.get_and_update用法及代码示例
- Elixir Agent.get用法及代码示例
- Elixir Agent.cast用法及代码示例
- Elixir Agent.start_link用法及代码示例
- Elixir Agent.stop用法及代码示例
- Elixir Agent.start用法及代码示例
- Elixir Agent用法及代码示例
- Elixir Application.get_env用法及代码示例
- Elixir Application用法及代码示例
- Elixir Access.filter用法及代码示例
- Elixir Access.all用法及代码示例
- Elixir Atom用法及代码示例
- Elixir Atom.to_string用法及代码示例
- Elixir Access.key用法及代码示例
- Elixir Access.get用法及代码示例
- Elixir Access.key!用法及代码示例
- Elixir Atom.to_charlist用法及代码示例
- Elixir Access.fetch用法及代码示例
- Elixir Access.at!用法及代码示例
- Elixir Access.at用法及代码示例
- Elixir Access用法及代码示例
- Elixir Access.fetch!用法及代码示例
- Elixir Application.ensure_started用法及代码示例
- Elixir Access.elem用法及代码示例
- Elixir Access.pop用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Agent.update(agent, fun, timeout \\ 5000)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。