¿Por qué sigo recibiendo este error?

Yo debería ser capaz de utilizar esta función global de la derecha?

http://www.html5rocks.com/en/tutorials/workers/basics/

Estoy usando chrome.

Estoy usando https://code.google.com/p/bitjs/ y comienza con

importScripts('io.js');
importScripts('archive.js');
InformationsquelleAutor netigger | 2013-01-24

3 Comentarios

  1. 18

    Este código debe ser dentro de un trabajador de la secuencia de comandos. El trabajador se crea a través de un nuevo Worker objeto – ver introducción en el tutorial.

    El código que has enlazado es en el interior de la trabajador creado aquí.

  2. 29

    Cuando se crea un trabajador es en realidad ejecuta dos veces. El primer paso es en el contexto global de la «ventana» es el objeto(lo que significa que tiene acceso a todas las funciones de objeto). La segunda llamada a través de la es en el contexto de que el trabajador que tiene un diferente objeto global, donde el ‘importScripts’ existe.

    //proper initialization
    if( 'function' === typeof importScripts) {
       importScripts('script2.js');
       addEventListener('message', onMessage);
    
       function onMessage(e) { 
         //do some work here 
       }    
    }

    Aviso de la addEventListener está dentro de la sentencia if. Si se coloca fuera de ella, de su devolución de llamada será registrada dos veces. Una vez en la ‘ventana global’ y una vez en el trabajador del mundial.

    Feliz codificación!

    • tu respuesta tiene sentido. puede usted por favor me señale algunos enlaces para saber más acerca de la doble ejecución.
  3. 10

    Me encontré con este error también. En mi caso, es porque estoy probando el código que utiliza el Karma/Jazmín. Debido a que el framework de pruebas, la worker.js el archivo es cargado por el hilo principal así.

    He evitado este error por wrappig la worker.js archivo:

        if( 'undefined' === typeof window){
           importScripts('workerscript2.js');
        ...
        }

    Por favor, consulte el comentario de abajo por Rob, que ofrece una solución alternativa.

    • Esta es una ingeniosa solución cuando se utiliza el Jazmín. +1
    • Considere el uso de 'function' === typeof importScripts lugar.

Dejar respuesta

Please enter your comment!
Please enter your name here