PHP
·
发表于 5年以前
·
阅读量:8293
// In main process.
const {ipcMain} = require('electron')
ipcMain.on('asynchronous-message', (event, arg) => {
console.log(arg) // prints "ping"
event.sender.send('asynchronous-reply', 'pong')
})
ipcMain.on('synchronous-message', (event, arg) => {
console.log(arg) // prints "ping"
event.returnValue = 'pong'
})
// In renderer process (web page).
const {ipcRenderer} = require('electron')
console.log(ipcRenderer.sendSync('synchronous-message', 'ping')) // prints "pong"
ipcRenderer.on('asynchronous-reply', (event, arg) => {
console.log(arg) // prints "pong"
})
ipcRenderer.send('asynchronous-message', 'ping')
渲染进程可以通过 ipcRenderer
模块的 send
方法向主进程发送消息。在主进程中,通过 ipcMain
模块设置监听 asynchronous-message
和 synchronous-message
两个事件,当渲染进程发送时就可以针对不同的事件进行处理。
主进程监听事件的回调函数中,会传递 event
对象及 arg
对象。arg
对象中保存渲染进程传递过来的参数。通过 event.sender
对象,主进程可以向渲染进程发送消息。如果主进程执行的是同步方法,还可以通过设置 event.returnValue
来返回信息。