【问题标题】:Getting the PID of a scenic component/scene获取场景组件/场景的 PID
【发布时间】:2020-11-11 21:04:18
【问题描述】:

快速提问,在 Scenic 文档中,它建议您可以像与任何 GenServer 一样与任何场景进行交互:

您可以随意向场景发送自己的消息 与任何其他 GenServer 进程。您可以使用 handle_info/2 , 像往常一样回调handle_cast/2 和handle_call/3。

我了解这将如何工作,但我不确定如何实际获取场景的 PID 以向其发送消息。

使用观察者有一个名为 _scenic_scenes_table_ 的表,但我猜这不是公共 API。

我希望我没有遗漏任何太明显的东西。

感谢您的帮助

【问题讨论】:

    标签: elixir pid gen-server


    【解决方案1】:

    Kernel.send/2 接受Process.dest() 类型的目的地,可以是pid()port()registered_name

    由于场景是registered,这很可能会起作用:

    send(MyApp.Scene.Example, {:my, :info, :message})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 2015-05-19
      相关资源
      最近更新 更多