Web Workers
Tareas intensivas realizarlas en web workers para no bloquear el thread.
Last updated
Was this helpful?
Tareas intensivas realizarlas en web workers para no bloquear el thread.
Last updated
Was this helpful?
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.
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).
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
Este sitio creado para probar el uso de web worker como bloquea la interacción.
Repo del demo :