在什么线程上执行电子菜单回调?

时间:2017-12-30 17:55:50

标签: javascript multithreading typescript callback electron

我正在努力理解电子菜单项以及他们的回调被执行的地方。

  1. 我在 main 中定义了一个菜单项 A 并添加回调
  2. 然后,我在渲染器进程中使用全局访问该menuitem
  3. 接下来,我在菜单中添加了一个新项 B ,并在渲染器进程中进行了回调
  4. 最后在呈现过程中,我使用 remote.Menu.setApplicationMenu()
  5. 令我惊讶的是, A回调在主中执行,但 B在渲染器进程的窗口中运行。

    这正是我想要的。但它安全吗?由于 remote 是IPC调用主进程的包装器,我不明白这些回调如何分配给正确的线程?

1 个答案:

答案 0 :(得分:0)

我在错过的文档中找到了一个条目:https://electronjs.org/docs/api/remote#passing-callbacks-to-the-main-process

似乎回答了这个问题(: