Skip to main content
MessagePort - Web documentation
interface MessagePort
extends EventTarget

The MessagePort interface of the Channel Messaging API represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other.

Properties

onmessage: (() => any) | null
onmessageerror: (() => any) | null

Methods

close(): void

Disconnects the port, so that it is no longer active.

postMessage(
message: any,
transfer: Transferable[],
): void

Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side.

Throws a "DataCloneError" DOMException if transfer contains duplicate objects or port, or if message could not be cloned.

postMessage(
message: any,
): void
start(): void

Begins dispatching messages received on the port. This is implicitly called when assigning a value to this.onmessage.

addEventListener<K extends keyof MessagePortEventMap>(
type: K,
listener: () => any,
options?: boolean | AddEventListenerOptions,
): void
addEventListener(
type: string,
options?: boolean | AddEventListenerOptions,
): void
removeEventListener<K extends keyof MessagePortEventMap>(
type: K,
listener: () => any,
options?: boolean | EventListenerOptions,
): void
removeEventListener(
type: string,
options?: boolean | EventListenerOptions,
): void
variable MessagePort

The MessagePort interface of the Channel Messaging API represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other.

Properties