DedicatedWorkerGlobalScope: messageerror Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2023 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist nur in Dedicated Web Workers verfügbar.
Das messageerror Ereignis wird auf einem DedicatedWorkerGlobalScope Objekt ausgelöst, wenn es eine Nachricht empfängt, die nicht deserialisiert werden kann.
Dieses Ereignis ist nicht abbrechbar und wird nicht weitergeleitet.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder legen Sie eine Ereignis-Handler-Eigenschaft fest.
addEventListener("messageerror", (event) => { })
onmessageerror = (event) => { }
Ereignistyp
Ein MessageEvent. Erbt von Event.
Ereigniseigenschaften
Diese Schnittstelle erbt auch Eigenschaften von ihrem übergeordneten Event.
MessageEvent.dataSchreibgeschützt-
Die vom Nachrichtensender gesendeten Daten.
MessageEvent.originSchreibgeschützt-
Ein String, der den Ursprung des Nachrichtensenders darstellt.
MessageEvent.lastEventIdSchreibgeschützt-
Ein String, der eine eindeutige ID für das Ereignis darstellt.
MessageEvent.sourceSchreibgeschützt-
Ein
MessageEventSource(welches ein WindowProxy,MessagePortoderServiceWorkerObjekt sein kann), das den Nachrichtensender darstellt. MessageEvent.portsSchreibgeschützt-
Ein Array von
MessagePortObjekten, das die mit dem Kanal, durch den die Nachricht gesendet wird, verbundenen Ports repräsentiert (wo zutreffend, z.B. bei der Kanal-Messaging oder beim Senden einer Nachricht zu einem Shared Worker).
Beispiele
Auf messageerror mit addEventListener() hören:
// worker.js
self.addEventListener("messageerror", (event) => {
self.postMessage("Error receiving message");
console.error(event);
});
Dasselbe, aber mit der onmessageerror Ereignis-Handler-Eigenschaft:
// worker.js
self.onmessageerror = (event) => {
self.postMessage("Error receiving message");
console.error(event);
};
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-messageerror> |
| HTML> # handler-messageeventtarget-onmessageerror> |
Browser-Kompatibilität
Siehe auch
DedicatedWorkerGlobalScopeWorkerGlobalScope- Verwandte Ereignisse:
message Worker.postMessage()- Verwendung von Kanal-Messaging