通过ipcMain
与ipcRenderer
模块允许主进程与页面(渲染进程)间发送与接收异步,或同步的消息
异步
渲染进程:
const ipc = require('electron').ipcRenderer
// ipc向主线程tag为msg的channel发送消息 'A'
ipc.send('msg', 'A')
// ipc监听tag为msg的channel消息
ipc.on('msg', (event, arg) => {
console.log(`异步消息回复: ${arg}`) // 'B'
})
主进程:
const electron = require('electron'),
ipc = electron.ipcMain
// ipc监听tag为msg的channel消息,收到消息后回复 'B'
ipc.on('msg', (event, arg) => {
console.log(arg) // 'A'
event.sender.send('msg', 'B')
})
同步
渲染进程:
const ipc = require('electron').ipcRenderer
// 采用同步的形式向tag为msg的channel发送消息'A',并保存在变量message中
let message = ipc.sendSync('msg', 'A')
console.log(message) // 'B'
主进程:
const electron = require('electron'),
ipc = electron.ipcMain
// ipc监听tag为msg的channel消息,收到消息后采用同步的形式回复 'B'
ipc.on('msg', (event, arg) => {
console.log(arg) // 'A'
event.returnValue = 'B'
})
参考文档
ipcMain
ipcRenderer
使用 Electron 在两个进程 (主进程和渲染进程) 之间进行通讯
Electron 主进程和渲染进程互相通信
版权属于:谁把年华错落成诗 所有,转载请注明出处!
本文链接:https://blog.pomears.com/archives/49.html
如果博客部分链接出现404,请留言或者联系博主修复。