docs.rodeo

MDN Web Docs mirror

Worker: message event

{{APIRef("Web Workers API")}} {{AvailableInWorkers("window_and_worker_except_service")}} 

The message event is fired on a {{domxref('Worker')}}  object when the worker’s parent receives a message from its worker (i.e. when the worker sends a message using DedicatedWorkerGlobalScope.postMessage()).

This event is not cancellable and does not bubble.

Syntax

Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}} , or set an event handler property.

addEventListener("message", (event) => {});

onmessage = (event) => {};

Event type

A {{domxref("MessageEvent")}} . Inherits from {{domxref("Event")}} .

{{InheritanceDiagram("MessageEvent")}} 

Event properties

This interface also inherits properties from its parent, {{domxref("Event")}} .

Examples

This code creates a new worker and listens to messages from it using addEventListener():

const worker = new Worker("static/scripts/worker.js");

worker.addEventListener("message", (event) => {
  console.log(`Received message from worker: ${event.data}`);
});

Alternatively, it could listen using the onmessage event handler property:

const worker = new Worker("static/scripts/worker.js");

worker.onmessage = (event) => {
  console.log(`Received message from worker: ${event.data}`);
};

The worker posts messages using self.postMessage():

// static/scripts/worker.js

self.postMessage("I'm alive!");

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN