2017-12-11 7 views
0

Ich habe eine WebWorker, die ich mitIst es möglich, JavaScript-Dateien in einem WebWorker zu laden?

new Worker("worker.js");

in diesem Arbeiter beginne Ich versuche, über

self.importScripts("NeededJs.js"); 
const m = new NeededJs(); 

eine benötigte JavaScript-Datei, ohne Erfolg zu laden, wie ich dieses Problem lösen kann, und auch die benötigte JavaScript-Datei in meinem WebWorker?

Edit:

erhalte ich die Fehlermeldung:

Uncaught ReferenceError: NeededJs is not defined

Dank

Dies wird die Datei muss ich schließen File I need to Inlcude

+0

Definieren Sie "ohne Erfolg". Meinst du, du bekommst eine Ausnahme? Was ist die Ausnahme? Meinst du, du bekommst keinen Fehler, aber etwas anderes funktioniert nicht? Bitte geben Sie weitere Einzelheiten an. – zero298

+0

Nur um sicher zu gehen ... Die "NeeededJs.js" -Datei enthält eine "globale" verfügbare Klasse mit dem Namen 'NeeededJs'? Wenn nicht, enthält es etwas wie 'this.NeededJs = NeeededClass'? – Siggy

+0

Bitte werfen Sie einen Blick auf den Link, den ich gepostet habe. – Zca89

Antwort

0

Ja, es ist möglich. Sie sollten sich eine globale Funktion beachten, so dass die von self.

entfernen: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

Worker threads have access to a global function, importScripts(), which lets them import scripts. It accepts zero or more URIs as parameters to resources to import; all of the following examples are valid:

und

Note: Scripts may be downloaded in any order, but will be executed in the order in which you pass the filenames into importScripts() . This is done synchronously; importScripts() does not return until all the scripts have been loaded and executed.

Auch, wie Sie das Modul Muster für Ihre importierten Datei, die Sie übergeben müssen verwenden, um eine Option zum Festlegen:

von: https://developer.mozilla.org/en-US/docs/Web/API/Worker/Worker

new Worker("worker.js", {type:"module"}); 
+0

Hat nicht funktioniert Ich muss sagen Ich lade den Arbeiter als Blob. – Zca89

+0

@ Zca89 Ich denke, das ist wahrscheinlich wichtige Informationen für Ihre Frage. Nicht wahr? – Jamiec

+0

ja wahr ich habe es gerade bemerkt. – Zca89

Verwandte Themen