Last active
November 22, 2023 18:08
-
-
Save Hoax017/e248674bd8354440c79fa8a0e52a87c6 to your computer and use it in GitHub Desktop.
exec function in worker without new file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Fonction que vous souhaitez exécuter dans le Worker | |
function maFonctionDansWorker() { | |
// Code de la fonction | |
return "Résultat de ma fonction dans le Worker"; | |
} | |
// Convertir la fonction en URL pour le Worker | |
const workerURL = URL.createObjectURL(new Blob([` | |
${maFonctionDansWorker} | |
self.onmessage = function(event) { | |
const message = event.data; | |
if (message === 'Lance la fonction') { | |
const resultat = maFonctionDansWorker(); | |
self.postMessage(resultat); | |
} | |
}; | |
`], { type: 'application/javascript' })); | |
// Créer un Worker à partir de l'URL | |
const monWorker = new Worker(workerURL); | |
// Envoyer un message au Worker | |
monWorker.postMessage('Lance la fonction'); | |
// Recevoir des messages du Worker | |
monWorker.onmessage = function(event) { | |
console.log('Message du Worker : ', event.data); | |
// Terminer le Worker une fois que vous avez reçu le résultat | |
monWorker.terminate(); | |
}; | |
// Nettoyer l'URL Blob après utilisation | |
URL.revokeObjectURL(workerURL); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment