Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

151
Visualizações
¿Es posible delegar una sola llamada de función a un WebWorker?

Tengo un código existente (que se ejecuta en el navegador), que sigue una determinada interfaz, que no quiero romper/refactorizar.

Hay una secuencia de llamadas a funciones. Una de esas funciones, que no está bajo mi control (proviene de alguna biblioteca), realiza cálculos pesados que congelan el hilo principal, lo que hace que la interfaz de usuario sea inútil durante unos 40 segundos.

Mi idea es usar un WebWorker, por supuesto. El problema es que, según los ejemplos que veo, un WebWorker requiere su propio script aislado, que se comunica con el hilo principal a través de "mensajes". Refactorizar mi código para que se ajuste a este "esquema" sería tedioso. Daré un ejemplo simplificado de lo que quiero lograr:

 class MySimplifiedFacade{ consturctor(){ ... } someLightMethod(params){ //Do something light } //THIS IS THE FUNCTION I WOULD LIKE TO SOMEHOW ISOLATE INTO A WEBWORKER veryHeavyCalculations(params){ someExternalLibrary.heavySynchronousCalculation(params) } }

Lo único en la secuencia de acciones, que en realidad requiere un WebWorker, es esta función llamada "veryHeavyCalculations" en el ejemplo.

¿Es posible aislar de alguna manera una "pieza de código" específica dentro de un WebWorker? El problema es, según tengo entendido, que cualquier cosa que pase a un WebWorker a través de mensajes debe ser "serializable", mientras que en mi caso necesitaría pasar una referencia a algún objeto existente.

¿Algunas ideas?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda