Electron参考手册
ipcMain
ipcMain
从主进程到呈现程序进程异步通信。
程序:主
ipcMain模块是EventEmitter类的一个实例。在主进程中使用时,它处理从渲染器进程(网页)发送的异步和同步消息。从渲染器发送的消息将发送到此模块。
发送消息
还可以将消息从主进程发送到呈现程序进程,请参见webContents.发送想了解更多信息。
- 发送消息时,事件名为
channel...
- 要回复同步消息,需要设置
event.returnValue...
- 若要向发送方发送异步消息,可以使用
event.sender.send(...)...
在呈现进程和主进程之间发送和处理消息的示例:
// 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')
方法
ipcMain模块具有以下方法来侦听事件:
ipcMain.on(channel, listener)
-
channel串
-
listener功能
channel,当有新邮件到达时listener将与被调用listener(event, args...)。
ipcMain.once(channel, listener)
-
channel串
-
listener功能
listener为事件添加一次性功能。这listener仅在下一次发送消息时被调用channel,之后将其删除。
ipcMain.removeListener(channel, listener)
-
channel串
-
listener功能
从指定listener的侦听器数组中移除指定的channel。
ipcMain.removeAllListeners([channel])
-
channel弦
删除指定的侦听器channel。
事件对象
event传递给该对象的对象callback具有以下方法:
event.returnValue
将其设置为在同步消息中返回的值。
event.sender
返回webContents发送消息的消息,您可以调用event.sender.send以回复异步消息,请参阅webContents.send以获取更多信息。
| ipcMain | ||
|---|---|---|
| ipcMain | 详细 |
Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。
| 主页 | https://electron.atom.io/ |
| 源码 | https://github.com/electron/electron |
| 发布版本 | 1.7.9 |
加载中,请稍侯......