类:Worker


🌐 Class: Worker

稳定性: 1 - 实验性。使用 --experimental-web-worker CLI 标志启用此 API。

HTML 标准 的一个大部分兼容浏览器的 Web Workers 实现,基于 node:worker_threads 实现。使用它创建的线程除了常规的 Node.js 全局对象(如 process)外,还提供了 DedicatedWorkerGlobalScope API(self、name、location、navigator、postMessage()、close() 和 importScripts())。

🌐 A mostly browser-compatible implementation of Web Workers of the HTML Standard, implemented on top of node:worker_threads. Threads created with it are given the DedicatedWorkerGlobalScope API (self, name, location, navigator, postMessage(), close(), and importScripts()), in addition to the usual Node.js globals, such as process.

// worker.js
addEventListener('message', (event) => {
  postMessage(`${event.data} from ${name}!`);
}); 
// main.js
const worker = new Worker('./worker.js', { name: 'greeter' });

worker.addEventListener('message', (event) => {
  console.log(event.data); // Prints: Hello from greeter!
  worker.terminate();
});

worker.postMessage('Hello'); 

因为它们的生命周期和共享模型依赖于来源和浏览上下文,Node.js 目前并没有实现 SharedWorker。

🌐 Because their lifetime and sharing model depend on origins and browsing contexts, Node.js does not currently implement SharedWorker.