Worker
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Note: This feature is available in Web Workers, except for Service Workers.
Giao diện Worker của Web Workers API đại diện cho một tác vụ nền có thể được tạo qua script, có thể gửi thông điệp trở lại trình tạo của nó.
Việc tạo một worker được thực hiện bằng cách gọi hàm tạo Worker("path/to/worker/script").
Bản thân các worker có thể sinh ra các worker mới, miễn là các worker đó được lưu trữ tại cùng nguồn gốc với trang cha.
Lưu ý rằng không phải tất cả các giao diện và hàm đều khả dụng cho web workers. Xem Các hàm và lớp khả dụng cho Web Workers để biết chi tiết.
Constructors
Thuộc tính instance
Kế thừa thuộc tính từ cha, EventTarget.
Phương thức instance
Kế thừa phương thức từ cha, EventTarget.
Worker.postMessage()-
Gửi một thông điệp — bao gồm bất kỳ đối tượng JavaScript nào — tới phạm vi bên trong của worker.
Worker.terminate()-
Chấm dứt worker ngay lập tức. Phương thức này không cho phép worker hoàn thành các hoạt động của nó; worker bị dừng ngay lập tức. Các instance
ServiceWorkerkhông hỗ trợ phương thức này.
Events
error-
Xảy ra khi có lỗi trong worker.
message-
Xảy ra khi cha của worker nhận được thông điệp từ worker đó.
messageerror-
Xảy ra khi một đối tượng
Workernhận được thông điệp không thể giải tuần tự hóa.
Ví dụ
Đoạn mã sau tạo một đối tượng Worker bằng cách sử dụng hàm tạo Worker(), sau đó sử dụng đối tượng worker:
const myWorker = new Worker("/worker.js");
const first = document.querySelector("input#number1");
const second = document.querySelector("input#number2");
first.onchange = () => {
myWorker.postMessage([first.value, second.value]);
console.log("Message posted to worker");
};
Để biết ví dụ đầy đủ, xem ví dụ dedicated worker cơ bản (chạy dedicated worker).
Đặc tả kỹ thuật
| Specification |
|---|
| HTML> # dedicated-workers-and-the-worker-interface> |
Tương thích trình duyệt
Hỗ trợ khác nhau tùy theo loại worker. Xem trang của từng loại worker để biết chi tiết cụ thể.
Hành vi lỗi worker chéo nguồn gốc
Trong các phiên bản đầu của đặc tả kỹ thuật, việc tải script worker chéo nguồn gốc sẽ ném ra SecurityError. Ngày nay, một event error sẽ được ném ra thay thế.
Xem thêm
- Sử dụng Web Workers
- Các hàm và lớp khả dụng cho Web Workers
- Các loại worker khác:
SharedWorkervà Service Worker. - Giao diện
OffscreenCanvas