Web Performance Optimization
  • Web Performance Optimization
  • Render Blocking CSS
  • Render Blocking JS
  • Resources Priority
  • Performance Budget
  • Images
  • HTTP/2 Server Push
  • Caching
  • Compression
  • Web Workers
  • React
  • Auditar con Chrome
Powered by GitBook
On this page
  • Introducción
  • ¿Qué nos aporta los Web Workers?
  • Uso
  • Ejemplo

Was this helpful?

Web Workers

Tareas intensivas realizarlas en web workers para no bloquear el thread.

PreviousCompressionNextReact

Last updated 5 years ago

Was this helpful?

Introducción

Cualquier código javaScript que tarde mucho en devolver el control al event loop va a bloquear la ejecución del código en nuestra página, bloqueando la UI, por lo tanto el user no podrá hacer click, hacer scroll etc.

¿Qué nos aporta los Web Workers?

Los WebWorkers nos permite correr código javascript sin bloquear el thread principal.

Se utiliza principalmente cuando realizamos tareas intensivas de CPU que se necesitan hacer del lado del cliente, por ejemplo un editor online que necesita estar guardando la información cada "x" tiempo, filtrar / ordenar una lista de miles de items (que no se pueda hacer en el server por x motivo).

Uso

Los web workers tienen métodos sencillos, lo que hay que tener en cuenta es que no se tiene acceso al window‌.

  • new Worker() , crea un thread y nos manejamos con esa referencia

  • postMessage(), envía datos que se reciben en el onmessage()

  • terminate(), termina el worker

Ejemplo

Este sitio creado para probar el uso de web worker como bloquea la interacción.

Repo del demo :

https://react-webworker-demo-rohan-bagchi.surge.sh/
https://github.com/rohanBagchi/react-webworker-demo