Phoenix Handle Info Self Example
From ElixirBlocks
defmodule AppWeb.Sandbox do use AppWeb, :live_view require Logger def mount(_params, _session, socket) do {:ok, assign(socket, :count, 0)} end def handle_event("increment", _params, socket) do # Send a message to ourselves after 1000 milliseconds (1 second) Process.send_after(self(), :delayed_increment, 1000) {:noreply, socket} end def handle_info(:delayed_increment, socket) do new_count = socket.assigns.count + 1 Logger.info("Incrementing count to: #{new_count}") {:noreply, assign(socket, :count, new_count)} end def render(assigns) do ~H""" <div> <h2>Delayed Counter</h2> <p>Count: <%= @count %></p> <button phx-click="increment">Increment After Delay</button> </div> """ end end