Retour à la leçonMission
Mission : réparer un Worker de traitement d'image
Corriger un Worker qui plante à cause d'un accès DOM interdit, et optimiser le transfert d'un gros buffer de pixels.
Contexte
Un développeur écrit un Worker de filtre d'image. Dans worker.js, il lit une valeur de configuration avec document.querySelector("#intensite").value. Côté page principale, il envoie le buffer de pixels avec :
js
const worker = new Worker("worker.js");
const bufferPixels = new ArrayBuffer(50 * 1024 * 1024); // 50 Mo
worker.postMessage({ buffer: bufferPixels });Le worker plante immédiatement avec une erreur document is not defined, et l'envoi du buffer prend, en plus, plusieurs centaines de millisecondes à lui seul.