Looking for javascript Answers? Try Ask4KnowledgeBase
Looking for javascript Keywords? Try Ask4Keywords

JavaScript Web Worker


Exemple

Un travailleur Web est un moyen simple d'exécuter des scripts dans les threads d'arrière-plan, car le thread de travail peut effectuer des tâches (y compris des tâches d'E / S à l'aide de xmlHttpRequest) sans interférer avec l'interface utilisateur. Une fois créé, un agent peut envoyer des messages pouvant être différents types de données (à l'exception des fonctions) au code JavaScript qui l'a créé en publiant des messages sur un gestionnaire d'événements spécifié par ce code (et inversement).

Les travailleurs peuvent être créés de plusieurs manières.

Le plus courant provient d'une simple URL:

var webworker = new Worker("./path/to/webworker.js");

Il est également possible de créer un Worker dynamiquement à partir d'une chaîne en utilisant URL.createObjectURL() :

var workerData = "function someFunction() {}; console.log('More code');";

var blobURL = URL.createObjectURL(new Blob(["(" + workerData + ")"], { type: "text/javascript" }));

var webworker = new Worker(blobURL);

La même méthode peut être combinée avec Function.toString() pour créer un travailleur à partir d'une fonction existante:

var workerFn = function() {
    console.log("I was run");
};

var blobURL = URL.createObjectURL(new Blob(["(" + workerFn.toString() + ")"], { type: "text/javascript" }));

var webworker = new Worker(blobURL);