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.

EventTarget Worker

Constructors

Worker()

Tạo một dedicated web worker thực thi script tại URL được chỉ định. Phương thức này cũng hoạt động với Blob URLs.

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 ServiceWorker khô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 Worker nhậ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:

js
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