DedicatedWorkerGlobalScope: messageerror event
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
Note: This feature is only available in Dedicated Web Workers.
Sự kiện messageerror được kích hoạt trên một đối tượng DedicatedWorkerGlobalScope khi nó nhận được một thông điệp không thể giải tuần tự hóa.
Sự kiện này không thể hủy và không nổi bọt.
Cú pháp
Sử dụng tên sự kiện trong các phương thức như addEventListener(), hoặc đặt thuộc tính trình xử lý sự kiện.
addEventListener("messageerror", (event) => { })
onmessageerror = (event) => { }
Kiểu sự kiện
Một MessageEvent. Kế thừa từ Event.
Thuộc tính sự kiện
Giao diện này cũng kế thừa các thuộc tính từ giao diện cha Event.
MessageEvent.dataRead only-
Dữ liệu được gửi bởi bên phát thông điệp.
MessageEvent.originRead only-
Một chuỗi đại diện cho origin của bên phát thông điệp.
MessageEvent.lastEventIdRead only-
Một chuỗi đại diện cho ID duy nhất của sự kiện.
MessageEvent.sourceRead only-
Một
MessageEventSource(có thể là một đối tượng WindowProxy,MessagePorthoặcServiceWorker) đại diện cho bên phát thông điệp. MessageEvent.portsRead only-
Một mảng các đối tượng
MessagePortđại diện cho các cổng gắn với kênh mà thông điệp đang được gửi qua (khi phù hợp, ví dụ trong channel messaging hoặc khi gửi thông điệp tới shared worker).
Ví dụ
Lắng nghe messageerror bằng addEventListener():
// worker.js
self.addEventListener("messageerror", (event) => {
self.postMessage("Error receiving message");
console.error(event);
});
Tương tự, nhưng dùng thuộc tính trình xử lý sự kiện onmessageerror:
// worker.js
self.onmessageerror = (event) => {
self.postMessage("Error receiving message");
console.error(event);
};
Đặc tả kỹ thuật
| Specification |
|---|
| HTML> # event-messageerror> |
| HTML> # handler-messageeventtarget-onmessageerror> |
Tương thích trình duyệt
Xem thêm
DedicatedWorkerGlobalScopeWorkerGlobalScope- Các sự kiện liên quan:
message Worker.postMessage()- Using channel messaging