DedicatedWorkerGlobalScope: messageerror-Ereignis
Baseline 2023
Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Hinweis: Dieses Feature ist nur verfügbar in Dedicated Web Workers.
Das messageerror
-Ereignis wird auf einem DedicatedWorkerGlobalScope
Objekt ausgelöst, wenn eine Nachricht empfangen wird, die nicht deserialisiert werden kann.
Dieses Ereignis ist nicht abbruchbar und wird nicht weitergeleitet.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignishandler-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 Nachrichtenemittent darstellt.
MessageEvent.lastEventId
Nur lesbar-
Ein String, der eine eindeutige ID für das Ereignis darstellt.
MessageEvent.source
Nur lesbar-
Ein
MessageEventSource
(kann ein WindowProxy,MessagePort
oderServiceWorker
-Objekt sein), das den Nachrichtenemittent darstellt. MessageEvent.ports
Nur lesbar-
Ein Array von
MessagePort
-Objekten, die die Ports darstellen, die mit dem Kanal verbunden sind, über den die Nachricht gesendet wird (wo zutreffend, z.B. in der Kanalnachrichtübermittlung oder beim Senden einer Nachricht an einen Shared Worker).
Beispiele
Hören Sie auf messageerror
mit addEventListener()
:
// worker.js
self.addEventListener("messageerror", (event) => {
self.postMessage("Error receiving message");
console.error(event);
});
Das Gleiche, aber mit der onmessageerror
-Ereignishandler-Eigenschaft:
// worker.js
self.onmessageerror = (event) => {
self.postMessage("Error receiving message");
console.error(event);
};
Spezifikationen
Specification |
---|
HTML Standard # event-messageerror |
HTML Standard # handler-dedicatedworkerglobalscope-onmessageerror |
Browser-Kompatibilität
BCD tables only load in the browser