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.
addEventListener("messageerror", (event) => {});
onmessageerror = (event) => {};
Ereignistyp
Ein MessageEvent
. Erbt von Event
.
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
oderServiceWorker
-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()
:
// 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:
// 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
Worker.postMessage()
- Verwandte Ereignisse:
message