50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
|
# MessagePortMain
|
||
|
|
||
|
`MessagePortMain` is the main-process-side equivalent of the DOM
|
||
|
[`MessagePort`][] object. It behaves similarly to the DOM version, with the
|
||
|
exception that it uses the Node.js `EventEmitter` event system, instead of the
|
||
|
DOM `EventTarget` system. This means you should use `port.on('message', ...)`
|
||
|
to listen for events, instead of `port.onmessage = ...` or
|
||
|
`port.addEventListener('message', ...)`
|
||
|
|
||
|
See the [Channel Messaging API][] documentation for more information on using
|
||
|
channel messaging.
|
||
|
|
||
|
`MessagePortMain` is an [EventEmitter][event-emitter].
|
||
|
|
||
|
## Class: MessagePortMain
|
||
|
|
||
|
### Instance Methods
|
||
|
|
||
|
#### `port.postMessage(message, [transfer])`
|
||
|
|
||
|
* `message` any
|
||
|
* `transfer` MessagePortMain[] (optional)
|
||
|
|
||
|
Sends a message from the port, and optionally, transfers ownership of objects
|
||
|
to other browsing contexts.
|
||
|
|
||
|
#### `port.start()`
|
||
|
|
||
|
Starts the sending of messages queued on the port. Messages will be queued
|
||
|
until this method is called.
|
||
|
|
||
|
#### `port.close()`
|
||
|
|
||
|
Disconnects the port, so it is no longer active.
|
||
|
|
||
|
### Instance Events
|
||
|
|
||
|
#### Event: 'message'
|
||
|
|
||
|
Returns:
|
||
|
|
||
|
* `messageEvent` Object
|
||
|
* `data` any
|
||
|
* `ports` MessagePortMain[]
|
||
|
|
||
|
Emitted when a MessagePortMain object receives a message.
|
||
|
|
||
|
[`MessagePort`]: https://developer.mozilla.org/en-US/docs/Web/API/MessagePort
|
||
|
[Channel Messaging API]: https://developer.mozilla.org/en-US/docs/Web/API/Channel_Messaging_API
|