From 3d8d62c5cf3da866a0c9dee08663af3ee81a8f87 Mon Sep 17 00:00:00 2001 From: fisker Date: Sun, 11 May 2025 02:54:51 +0800 Subject: [PATCH 1/3] worker: update code examples for `node:worker_threads` module --- doc/api/worker_threads.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index 40d22d337553cb..b0dae8dd49e22a 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -47,8 +47,8 @@ export default function parseJSAsync(script) { workerData: script, }); worker.on('message', resolve); - worker.on('error', reject); - worker.on('exit', (code) => { + worker.once('error', reject); + worker.once('exit', (code) => { if (code !== 0) reject(new Error(`Worker stopped with exit code ${code}`)); }); @@ -73,8 +73,8 @@ if (isMainThread) { workerData: script, }); worker.on('message', resolve); - worker.on('error', reject); - worker.on('exit', (code) => { + worker.once('error', reject); + worker.once('exit', (code) => { if (code !== 0) reject(new Error(`Worker stopped with exit code ${code}`)); }); @@ -670,7 +670,7 @@ share read and write access to the same set of environment variables. import process from 'node:process'; import { Worker, SHARE_ENV } from 'node:worker_threads'; new Worker('process.env.SET_IN_WORKER = "foo"', { eval: true, env: SHARE_ENV }) - .on('exit', () => { + .once('exit', () => { console.log(process.env.SET_IN_WORKER); // Prints 'foo'. }); ``` @@ -678,9 +678,10 @@ new Worker('process.env.SET_IN_WORKER = "foo"', { eval: true, env: SHARE_ENV }) ```cjs 'use strict'; +const process = require('node:process'); const { Worker, SHARE_ENV } = require('node:worker_threads'); new Worker('process.env.SET_IN_WORKER = "foo"', { eval: true, env: SHARE_ENV }) - .on('exit', () => { + .once('exit', () => { console.log(process.env.SET_IN_WORKER); // Prints 'foo'. }); ``` @@ -950,7 +951,7 @@ const { port1, port2 } = new MessageChannel(); // foobar // closed! port2.on('message', (message) => console.log(message)); -port2.on('close', () => console.log('closed!')); +port2.once('close', () => console.log('closed!')); port1.postMessage('foobar'); port1.close(); @@ -966,7 +967,7 @@ const { port1, port2 } = new MessageChannel(); // foobar // closed! port2.on('message', (message) => console.log(message)); -port2.on('close', () => console.log('closed!')); +port2.once('close', () => console.log('closed!')); port1.postMessage('foobar'); port1.close(); @@ -1384,7 +1385,7 @@ and what kind of JavaScript values can be successfully transported through the thread barrier. ```mjs -import assert from 'node:assert'; +import assert from 'node:assert/strict'; import { Worker, MessageChannel, MessagePort, isMainThread, parentPort, } from 'node:worker_threads'; @@ -1407,7 +1408,7 @@ if (isMainThread) { ```cjs 'use strict'; -const assert = require('node:assert'); +const assert = require('node:assert/strict'); const { Worker, MessageChannel, MessagePort, isMainThread, parentPort, } = require('node:worker_threads'); From d7bcad3bfcbe18275948dd693d9386474952d93a Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 21 May 2025 20:24:20 +0800 Subject: [PATCH 2/3] Update worker_threads.md --- doc/api/worker_threads.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index b0dae8dd49e22a..15f371d3387d10 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -1385,7 +1385,7 @@ and what kind of JavaScript values can be successfully transported through the thread barrier. ```mjs -import assert from 'node:assert/strict'; +import assert from 'node:assert'; import { Worker, MessageChannel, MessagePort, isMainThread, parentPort, } from 'node:worker_threads'; @@ -1408,7 +1408,7 @@ if (isMainThread) { ```cjs 'use strict'; -const assert = require('node:assert/strict'); +const assert = require('node:assert'); const { Worker, MessageChannel, MessagePort, isMainThread, parentPort, } = require('node:worker_threads'); From e4211d5e29202d8e775d1613dc81748dcf2bd20e Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 5 Jan 2026 22:59:13 +0800 Subject: [PATCH 3/3] Update doc/api/worker_threads.md Co-authored-by: Antoine du Hamel --- doc/api/worker_threads.md | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index 15f371d3387d10..97954661ada5be 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -678,7 +678,6 @@ new Worker('process.env.SET_IN_WORKER = "foo"', { eval: true, env: SHARE_ENV }) ```cjs 'use strict'; -const process = require('node:process'); const { Worker, SHARE_ENV } = require('node:worker_threads'); new Worker('process.env.SET_IN_WORKER = "foo"', { eval: true, env: SHARE_ENV }) .once('exit', () => {