我有一个凤凰频道,在 handle_in 之后将结果推送到 handle_info ,而不是马上回复(不要问为什么请,我有用 - 案件)。以下示例与我的情况类似。
def handle_in("topic", %{"param" => param}, socket) do
... do something here ...
send self(), %{:on_topic, result}
{:noreply, socket}
end
def handle_info({:on_topic, result}, socket) do
... do something here ...
push socket, "topic_resp", %{resp: result}
{:noreply, socket}
end
到目前为止,我可以轻松地测试 handle_in (因为没有回复),但是如何在 handle_info 之后等待并测试套接字推送的结果?