私はエリクサーで以下を使用して単純なイベントハンドラーを持っていますGenEvent
:
defmodule myHandler do
use GenEvent
#Callback
def handle_event {:message, x}, state do
IO.puts("Message value is #{x}")
{:ok, [x|state]}
end
end
通常の方法で 1 つのハンドラーとマネージャーを開始できます。
{:ok, mgr} = GenEvent.start_link
myServer.start_link(mgr)
GenEvent.add_handler(mgr,myHandler, [])
ただし、同じマネージャーを使用して、それぞれ異なる ID を持つ N 個のハンドラーがある監視ツリーを開始したいと考えています。
私は試した:
Gen.Event.add_handler({mgr, :id1},myHandler, [])
、運が悪い!代わりに、次のエラーが表示されます。
** (Mix) Could not start application : exited in: myApp.start(:normal, [])
** (EXIT) no connection to :id1
私は Elixir の初心者なので、ドキュメントに少し苦労しています。どなたか教えていただけるとありがたいです!ありがとう。