Worker: messageerror-Ereignis

Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in Service Workers.

Das messageerror-Ereignis wird auf einem Worker-Objekt ausgelöst, wenn eine Nachricht empfangen wird, die nicht deserialisiert werden kann.

Dieses Ereignis ist nicht abbrechbar und wird nicht nach oben propagiert.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("messageerror", (event) => {});

onmessageerror = (event) => {};

Ereignistyp

Ereigniseigenschaften

Diese Schnittstelle erbt auch Eigenschaften von ihrem Elternteil, Event.

MessageEvent.data Nur lesbar

Die vom Nachrichtenemitter gesendeten Daten.

MessageEvent.origin Nur lesbar

Ein String, der den Ursprung des Nachrichtenemitters darstellt.

MessageEvent.lastEventId Nur lesbar

Ein String, der eine eindeutige ID für das Ereignis darstellt.

MessageEvent.source Nur lesbar

Ein MessageEventSource (der ein WindowProxy, MessagePort oder ServiceWorker-Objekt sein kann), der den Nachrichtenemitter darstellt.

MessageEvent.ports Nur lesbar

Ein Array von MessagePort-Objekten, die die Ports repräsentieren, die mit dem Kanal verbunden sind, über den die Nachricht gesendet wird (wo zutreffend, z.B. bei der Kanalkommunikation oder beim Senden einer Nachricht an einen freigegebenen Worker).

Beispiele

Erstellen Sie einen Worker und hören Sie auf message- und messageerror-Ereignisse mit addEventListener():

js
// main.js

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

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

worker.addEventListener("messageerror", (event) => {
  console.error(`Error receiving message from worker: ${event}`);
});

Das Gleiche, aber mit der onmessageerror-Ereignis-Handler-Eigenschaft:

js
// main.js

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

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

worker.onmessageerror = (event) => {
  console.error(`Error receiving message from worker: ${event}`);
};

Spezifikationen

Specification
HTML Standard
# event-messageerror

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch