DedicatedWorkerGlobalScope: messageerror 事件
注意:此功能仅在 专用 Web Workers 中可用。
当 DedicatedWorkerGlobalScope
对象接收到无法反序列化的消息时,会触发 messageerror
事件。
此事件不可取消,也不冒泡。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("messageerror", (event) => {});
onmessageerror = (event) => {};
事件类型
一个 MessageEvent
。继承自 Event
。
事件属性
此接口也继承其父级 Event
的属性。
MessageEvent.data
只读-
消息发射器发送的数据。
MessageEvent.origin
只读-
表示消息发射器来源的字符串。
MessageEvent.lastEventId
只读-
表示事件唯一 ID 的字符串。
MessageEvent.source
只读-
一个
MessageEventSource
(可以是 WindowProxy、MessagePort
或ServiceWorker
对象),表示消息发射器。 MessageEvent.ports
只读-
一个
MessagePort
对象数组,表示与消息正在通过的通道关联的端口(在适当的情况下,例如在通道消息传递中或向共享工作线程发送消息时)。
示例
使用 addEventListener()
侦听 messageerror
js
// worker.js
self.addEventListener("messageerror", (event) => {
self.postMessage("Error receiving message");
console.error(event);
});
相同,但使用 onmessageerror
事件处理程序属性
js
// worker.js
self.onmessageerror = (event) => {
self.postMessage("Error receiving message");
console.error(event);
};
规范
规范 |
---|
HTML 标准 # event-messageerror |
HTML 标准 # handler-dedicatedworkerglobalscope-onmessageerror |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。