Worker: message event

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Note: This feature is available in Web Workers, except for Service Workers.

The message event is fired on a 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 addEventListener(), or set an event handler property.

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

onmessage = (event) => { }

Event type

A MessageEvent. Inherits from Event.

Event MessageEvent

Examples

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

js
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:

js
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():

js
// static/scripts/worker.js

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

Specifications

Specification
HTML
# event-message

Browser compatibility

See also