ipc渲染器 | ipcRenderer

ipcRenderer

从呈现程序进程到主进程异步通信。

程序:渲染器

ipcRenderer模块是EventEmitter类的一个实例。它提供了一些方法,因此您可以将渲染进程(网页)中的同步和异步消息发送到主进程。您还可以收到主流程的回复。

有关代码示例,请参阅ipcMain。

方法

ipcRenderer模块具有以下方法来侦听事件并发送消息:

ipcRenderer.on(channel, listener)

  • channel

  • listener功能

channel,当有新邮件到达时listener将与被调用listener(event, args...)

ipcRenderer.once(channel, listener)

  • channel

  • listener功能

listener为事件添加一次性功能。这listener仅在下一次发送消息时被调用channel,之后将其删除。

ipcRenderer.removeListener(channel, listener)

  • channel

  • listener功能

从指定listener的侦听器数组中移除指定的channel

ipcRenderer.removeAllListeners([channel])

  • channelString(可选)删除所有侦听器或指定的侦听器channelipcRenderer.send(channel[, arg1][, arg2][, ...])

  • channel

  • ...args 任何[]

通过异步发送消息到主进程channel,你也可以发送任意参数。参数将在JSON内部序列化,因此不会包含函数或原型链。

其主要过程通过监听处理它channelipcMain模块。

ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])

  • channel

  • ...args任何。[]

返回any- ipcMain处理程序发回的值。

通过同步发送消息到主进程channel,你也可以发送任意参数。参数将在JSON内部序列化,因此不会包含函数或原型链。

其主要过程通过监听处理它channelipcMain模块,并通过设置回复event.returnValue

注:发送同步消息将阻止整个呈现程序进程,除非您知道自己在做什么,否则就不应该使用它。

ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])

  • channel

  • ...args 任何[]

就像ipcRenderer.send但是事件将被发送到<webview>元素,而不是主进程。