跳至主要內容

进程间通信

望间代码Electron小于 1 分钟

进程间通信

主进程与渲染进程之间进行通信,需要使用到两个核心对象,分别是 ipcMainopen in new windowipcRendereropen in new window

主进程给渲染进程发送消息

主进程发送 'hello' 给渲染进程,渲染进程接收到消息后,打印 'hello'。

Main Process
const { ipcMain } = require("electron");

ipcMain.handle("ipc-test", async (event, arg) => {
  return "hello";
});
Renderer Process
const { ipcRenderer } = require("electron");

async () => {
  const result = await ipcRenderer.invoke("ipc-test");
  console.log(result);
};

渲染进程给主进程发送消息

渲染进程发送 'hello' 给主进程,主进程接收到消息后,打印 'hello'。

Main Process
const { ipcMain } = require("electron");

ipcMain.handle("ipc-test", async (event, arg) => {
  const result = await somePromise(arg);
  console.log(result);
});
Renderer Process
const { ipcRenderer } = require("electron");

async () => {
  await ipcRenderer.invoke("ipc-test", "hello");
};
上次编辑于:
贡献者: ViewRoom