【发布时间】:2018-04-04 18:41:05
【问题描述】:
我想创建一个一开始就需要多个状态的 GenServer。特别是init 函数启动了一个需要知道一些初始状态的计时器。我知道GenServer.start_link的第二个参数直接传递给init(arg)。
但是我找不到一个示例来说明如何在init 中传递多个状态参数以进行初始化。例如,需要的东西是:
defmodule Application.Test do
require GenServer
def start_link(state1, state2) do
GenServer.start_link(__MODULE__, [state1, state2], [])
end
def init(state) do
# Use the state to launch timer
end
end
但是,因为我不能 找不到一个例子,而且我对长生不老药真的很陌生,这对我来说似乎并不习惯。有没有更好/更有效的方法来做到这一点,或者这是最好的方法?
【问题讨论】:
标签: elixir state erlang-otp