类: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.