Electron官方文档(v1.6.1)中文翻译

2. ipcRenderer

2017-03-07  本文已影响702人  Shmily落墨

原文:https://github.com/electron/electron/blob/master/docs/api/ipc-renderer.md
译者:Lin

从渲染进程到主进程的异步通讯。

进程:渲染进程

ipcRenderer模块是一个EventEmitter类的实例。它提供少量的方法让你能够从渲染进程发送同步和一步的消息到主进程。你也可以收到主进程的回复。

代码例子请查看ipcMain

<h2 id="methods">方法</h2>

ipcRenderer模块有以下监听事件和发送消息的方法:

<h3 id="ipcRenderer-on"><code>ipcRenderer.on(channel, listener)</code></h3>

监听channel,当一个新消息送达listener将会被调用listener(event, args...)

<h3 id="ipcRenderer-once"><code>ipcRenderer.once(channel, listener)</code></h3>

给事件添加一个一次性listener函数。这个listener只会在下一次一个消息送达channel时触发,触发后它就会被移除。

<h3 id="ipcRenderer-removeListener"><code>ipcRenderer.removeListener(channel, listener)</code></h3>

通过指定的channel移除监听器数组中指定的listener

<h3 id="ipcRenderer-removeAllListeners"><code>ipcRenderer.removeAllListeners([channel])</code></h3>

移除所有监听起,或者channel中指定的那些监听器。

<h3 id="ipcRenderer-send"><code>ipcRenderer.send(channel[, arg1][, arg2][, ...])</code></h3>

通过channel异步发送一个消息到主进程,你可以发送任意参数。参数将在JSON内部被联播,因此没有函数或者原型链被引用。

主进程通过ipcMain模块监听channel来处理它。

<h3 id="ipcRenderer-sendSync"><code>ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])</code></h3>

通过channel同步发送一个消息到主进程,你可以发送任意参数。参数将在JSON内部被联播,因此没有函数或者原型链被引用。

主进程通过ipcMain模块监听channel来处理它,并且通过设置event.returnValue来给予回复。

注意:发送一个同步消息将会阻塞整个渲染进程,除非你知道你正在做什么,否则你永远不要用到这个接口。

<h3 id="ipcRenderer-sendToHost"><code>ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])</code></h3>

ipcRenderer.send一样,但是事件将会被送到主页的<webview>元素而不是送到主进程。

上一篇下一篇

猜你喜欢

热点阅读