我从GenServer中的句柄信息功能调用elixir genserver来添加电话号码获取表单客户端.但是一旦调用handle_call,所有者进程就会崩溃[timeout].请帮忙.
全局创建一个ETS以在调用任何下面描述的函数之前插入值.
def handle_info(message, state) do
{a,b} = message
phonenumber = b[:body]
add phonenumber
{:noreply, state}
end
def add(phonenumber) do
GenServer.call(__MODULE__, {:add, phonenumber})
end
def handle_call({:add, phonenumber}, from, state) do
:ets.insert(:access_table, {:details, phonenumber})
reply = {:ok, "Added #{phonenumber} to profile"}
new_state = [{username} | state]
{:reply, reply , new_state}
end
Run Code Online (Sandbox Code Playgroud)
错误:
** When Server state == []
** Reason for termination ==
** {timeout,{gen_server,call,['Elixir.Bankrecord',{add,"346534543534"},5000]}}
** (EXIT from #PID<0.150.0>) exited in: :gen_server.call(Bankrecord, {:add, '346534543534'}, 5000)
** (EXIT) time out
Run Code Online (Sandbox Code Playgroud) 我怎样才能从我现在在 Elixir 中得到它的方式得到下面的字符串。
['x1', 'x2']
Run Code Online (Sandbox Code Playgroud)
我尝试过enum.join但没有得到所需的数据
到
'x1,x2'
Run Code Online (Sandbox Code Playgroud)