Я прошел через https://hexdocs.pm/phoenix/Phoenix.Channel.html. Кажется, что handle_info имеет те же функции, что и handle_in. При каких обстоятельствах следует использовать handle_info?
Разница между handle_info и handle_in канала
Ответы (1)
Использование для handle_info
такое же, как и в GenServer и обычно проявляется в поведении (GenEvent, DBConnection)
Вызывается для обработки всех остальных сообщений.
msg — это сообщение, а state — это текущее состояние GenServer. Когда происходит тайм-аут, появляется сообщение: timeout.
Возвращаемые значения такие же, как и у handle_cast/2..
Если вы отправляете сообщение процессу вручную (используя send
), то оно будет обработано с помощью handle_info
. handle_info
также используется для уведомления о выходе из строя процесса, если процесс (в данном случае канал) отслеживает его.
person
Gazler
schedule
04.05.2016