electron学习-主进程、渲染进程间通信
以下整理出渲染进程发消息,以及对应主进程监听对应消息的方法
渲染进程发同步/异步消息给主进程
1.ipcRenderer.send('name1',...[args]);
2.ipcRenderer.invoke('name2',...[args]);
3.ipcRenderer.sendSync('name3',...[args]);
主进程监听渲染进程的消息
1.ipcMain.on('name1',(event,message) => {});
2.ipcMain.handle('name2',(event,message) => {});
3.ipcMain.on('name3',(event,message) => {});
1.在renderer.js中发消息ipcRenderer.send('name1',...[args]),在main.js中以ipcMain.on('name1',(event,message) => {})接收,并可在回调函数中通过event.reply('rname1',message)回复消息,随后在renderer.js中以ipcRenderer.on('rname1',(event,message) => {})接收回复的消息。
2.在renderer.js中发消息ipcRenderer.invoke('name2',...[args]),在main.js中以ipcMain.handle('name2',(event,message) => {})接收,并可在回调函数中通过return '返回值'回复消息。
3.在renderer.js中发消息ipcRenderer.sendSync('name3',...[args]),在main.js中以ipcMain.on('name3',(event,message) => {})接收,并可在回调函数中通过event.returnValue('value')回复消息,但是event.returnValue必须要有值。