electron ipcRenderer.invoke 和 ipcMain.handle 介绍
是 Electron 主进程中的一个方法,用于处理从渲染进程发送过来的IPC请求,并返回一个Promise。渲染进程可以使用方法发送IPC请求到主进程,并等待主进程处理完成后返回结果。
·
ipcMain.handle 是 Electron 主进程中的一个方法,用于处理从渲染进程发送过来的 IPC 请求,并返回一个 Promise。渲染进程可以使用 ipcRenderer.invoke 方法发送 IPC 请求到主进程,并等待主进程处理完成后返回结果。
在主进程中 (main.ts):
import { app, BrowserWindow, ipcMain } from 'electron';
app.on('ready', () => {
const mainWindow = new BrowserWindow();
ipcMain.handle('sumNumbers', async (event, num1: number, num2: number) => {
return num1 + num2;
});
});
在渲染进程中 (renderer.ts):
import { ipcRenderer } from 'electron';
async function sumNumbers(num1: number, num2: number) {
try {
const result = await ipcRenderer.invoke('sumNumbers', num1, num2);
console.log('Result:', result); // 输出 8
} catch (error) {
console.error('Error:', error);
}
}
sumNumbers(5, 3);
在上面的示例中,我们将主进程和渲染进程的代码分别放在了 main.ts 和 renderer.ts 文件中,并使用了 TypeScript 的类型定义。在渲染进程中,我们使用了 async/await 来等待 ipcRenderer.invoke 的结果,并捕获可能的错误。
更多推荐



所有评论(0)