Name

MessagePort — pass asynchronous messages

Inherits from

EventTarget

Synopsis

A MessagePort is used for asynchronous, event-based message passing, typically between JavaScript execution contexts, such as windows or worker threads. MessagePorts must be used in connected pairs: see MessageChannel. Calling postMessage() on a MessagePort triggers a message event on the MessagePort to which it is connected. The cross-origin messaging API (Cross-Origin Messaging) and Web Workers (Web Workers) also communicate using a postMessage() method and message events. Those APIs effectively use an implicit MessagePort object. Explicit use of MessageChannel and MessagePort enables the creation of additional private communication channels and can be used, for example, to allow direct communication between two sibling Worker threads.

MessageChannel and MessagePort types are an advanced feature of HTML5 and, at the time of this writing, some browsers support cross-origin messaging (Cross-Origin Messaging) and worker threads (Web Workers) without supporting private communication channels with MessagePort.

Methods

void close()

This method disconnects this MessagePort from the port to which it was connected (if any). Subsequent calls to postMessage() will have no effect, and no message events will be delivered in the future.

void postMessage(any message, [MessagePort[] ports])

Send a clone of the specified message through the port and deliver it in the form of a message event on the port to which this one is ...

Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.