Web Workers

JavaScript 🟡 Mid

Définition

API permettant d'exécuter du JS dans un thread sépare du thread principal. Communiquent via postMessage/onmessage. N'ont pas accès au DOM.

Analogie

Un assistant dans un bureau sépare : tu lui envoies du travail par pneumatique (postMessage), il te renvoie le résultat.

Exemple de code

// main.js
const worker = new Worker('worker.js');
worker.postMessage({ data: bigArray });
worker.onmessage = (e) => console.log(e.data);
// worker.js
onmessage = (e) => {
  const result = heavyCompute(e.data);
  postMessage(result);
};

Cas d'usage

Calculs lourds (crypto, parsing), traitement d'images, opérations qui bloqueraient le thread UI.

Anti-pattern

Créer un worker pour chaque petite opération : le coût de création et de communication dépassé le gain.
#core#performance#navigateur

Dans l'actu

  • 16/09 Node.js 26.9.0 (Current) ajoute node:bench, un framework de benchmark intégré de… S'y ajoutent des Web Workers natifs, un module node:dtls expérimental et une API MAC générique côté crypto. Semaine 38 · 14 – 20 septembre 2026 →
  • 16/09 Node.js 26.9.0 (Current) ajoute `node:bench` (derrière `--experimental-bench`), active le module FFI par défaut, branche un système de fichiers virtuel sur les loaders CommonJS et ESM et ajoute des Web Workers natifs. Bilan septembre 2026 →

← → au clavier pour passer d'une fiche à l'autre