SlideShare una empresa de Scribd logo
Creando un proceso web worker
Danae Aguilar Guzmán
MCT, MS, MCTS, MCP
danaeaguilar@gmail.com
Contenido del Módulo
 Iniciando y deteniendo un web worker
 Pasando datos a un web worker
 Configurando timeouts e intervalos
 Registrando un oyente de eventos
 Limitaciones de un web worker
Web workers
Web Workers
 Permiten realizar operaciones asíncronas.
 Permiten la ejecución de un script en una
tarea de background.
 El worker puede enviar mensajes de cualquier
tipo que pueda ser un objeto serializado
 La interfaz de usuario se mantendrá
responsiva y no bloqueada.
Iniciando y deteniendo un web worker
Creando un Web Worker:
Iniciando el Web Worker:
Deteniendo el Web Worker:
var worker = new Worker('Scripts/miWork.js');
worker.terminate();
worker.postMessage($('#mensage').val());
Iniciando y deteniendo un web worker
El script del Web Worker:
Suscribiéndose a los eventos:
self.onmessage = function (e) {
for (c in e.data) {
postMessage(e.data[c].toUpperCase());
}
}
worker.onmessage = function (e) {
$('#resultado').append(e.data + '<br />');
};
worker.onerror = function (e) {
$('#resultado').append('Error: ' + e.data + '<br />');
};
Pasando datos a un web worker
Pasando datos a un Web Worker:
Recibiendo datos:
worker.postMessage($('#mensage').val());
worker.onmessage = function (e) {
$('#resultado').append(e.data + '<br />');
};
Configurando timeouts e intervalos
Los Web Workers pueden usar timers:
 setTimeout()
 clearTimeout()
 setInterval()
 clearInterval()
Configurando timeouts e intervalos
Los Web Workers pueden usar timers:
var i = 0;
function incrementarContador() {
i = i + 1;
postMessage(i);
setTimeout("incrementarContador()", 500);
}
incrementarContador();
Registrando un oyente de eventos
Oyendo eventos de Web Workers:
worker.onmessage = function (e) {
$('#resultado').append(e.data + '<br />');
};
worker.onerror = function (e) {
$('#resultado').append('Error: ' + e.data + '<br />');
};
Limitaciones de un web worker
• El estado de los Web workers es isolado de la
página.
• Los mensajes se serializan. Se crea una copia
del mensaje, nunca el web worker y el
creador referencian a un mismo objeto.
• Los web workers no permiten bloqueos de
synchroniza-tion, semáforos, o mutexes.
• No tienen acceso al (DOM). Si necesitan
acceder al DOM deben postear un mensage a
su creador, su creador procesará el mensaje y
accederá al DOM.

Más contenido relacionado

PDF
10. consumiendo datos
PDF
Java servlets
DOCX
Bases de datos desde visual basic 6.0
DOCX
Djesus - Visual basic
DOCX
Bases de datos desde visual basic 6.0
DOCX
Kairubys rodriguez
PDF
Base de datos
PDF
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
10. consumiendo datos
Java servlets
Bases de datos desde visual basic 6.0
Djesus - Visual basic
Bases de datos desde visual basic 6.0
Kairubys rodriguez
Base de datos
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas

La actualidad más candente (6)

PDF
Curso de Struts 2: Unidad Didáctica 02 Acciones
PDF
Curso de Struts 2: Unidad Didáctica 04 Formularios
PDF
Curso de Struts2: Unidad Didáctica 00 Introduccion
PPTX
Tarea3 programacionweb2021b
PPTX
Tarea3 programacionweb2020b
PDF
Javascript y AJAX en Wordpress
Curso de Struts 2: Unidad Didáctica 02 Acciones
Curso de Struts 2: Unidad Didáctica 04 Formularios
Curso de Struts2: Unidad Didáctica 00 Introduccion
Tarea3 programacionweb2021b
Tarea3 programacionweb2020b
Javascript y AJAX en Wordpress
Publicidad

Destacado (17)

PDF
09. Creando interfaces de usuario animadas y adaptables
PDF
WPF 04 - reutilizando recursos y estilos en una aplicación WPF
PDF
ASP.NET MVC - bundling y minification
PDF
07. Usando CSS3
PDF
WPF 02 - construyendo una interfaz de usuario
PDF
08. Propiedades de estilo HTML box
PDF
ASP.NET MVC - validacion de datos
PDF
WPF 10. mejorando la funcionalidad y usabilidad de las aplicaciones
PDF
WPF 01 - introducción
PDF
WPF 05 - triggers y eventos
PDF
04. Implementando APIs HTML5
PDF
ASP.NET MVC - AJAX
PDF
WPF 07 - gráficos, animación y multimedia
PDF
WPF 03 - controles WPF
PDF
WPF 08 - manejo y vinculación de datos
PDF
ASP.NET MVC - layouts y vistas parciales
PDF
01. Creando documentos HTML5
09. Creando interfaces de usuario animadas y adaptables
WPF 04 - reutilizando recursos y estilos en una aplicación WPF
ASP.NET MVC - bundling y minification
07. Usando CSS3
WPF 02 - construyendo una interfaz de usuario
08. Propiedades de estilo HTML box
ASP.NET MVC - validacion de datos
WPF 10. mejorando la funcionalidad y usabilidad de las aplicaciones
WPF 01 - introducción
WPF 05 - triggers y eventos
04. Implementando APIs HTML5
ASP.NET MVC - AJAX
WPF 07 - gráficos, animación y multimedia
WPF 03 - controles WPF
WPF 08 - manejo y vinculación de datos
ASP.NET MVC - layouts y vistas parciales
01. Creando documentos HTML5
Publicidad

Similar a 06. Creando un proceso web worker (20)

PDF
Cien usos con serverless
PDF
PPTX
Tema servlets
PPTX
Tema servlets
PPTX
Tema servlets
PPTX
Tema servlets
DOCX
Servicios web
DOCX
Servicios web
PPTX
expo
PDF
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPC
PDF
Tallerprogramacion
PPTX
SignalR y dispositivos móviles
PPSX
Desarrollo De Web Parts En Share Point2007
PDF
T10_Ejercicios_Solucion.pdf
DOCX
PPT
Java Server Page JSP, otra forma de hacer
KEY
Introducción a DJango
DOCX
Reportes En J Developer Parte 1 Y 2
PDF
SEVILLA Meetups23032023.pdf
PPT
Php Bitter Sweet Symfony!
Cien usos con serverless
Tema servlets
Tema servlets
Tema servlets
Tema servlets
Servicios web
Servicios web
expo
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPC
Tallerprogramacion
SignalR y dispositivos móviles
Desarrollo De Web Parts En Share Point2007
T10_Ejercicios_Solucion.pdf
Java Server Page JSP, otra forma de hacer
Introducción a DJango
Reportes En J Developer Parte 1 Y 2
SEVILLA Meetups23032023.pdf
Php Bitter Sweet Symfony!

Más de Danae Aguilar Guzmán (12)

PDF
Microsoft HoloLens
PDF
WPF 09. procesos asíncronos y programación paralela
PDF
WPF 06 - personalizando los controles de interfaz de usuario
PDF
ASP.NET MVC - introduccion al web api
PDF
ASP.NET MVC - implementando globalizacion and localizacion
PDF
ASP.NET MVC - areas, manejo de estado
PDF
ASP.NET MVC - Introducción a ASP.NET MVC
PDF
Crecimiento profesional como desarrollador de software
PDF
05. Creando e implementando objetos y métodos
PDF
03. Introduccion a JavaScript y JQuery
PDF
02. Interactuando con controles de UI
PDF
Conceptos C#
Microsoft HoloLens
WPF 09. procesos asíncronos y programación paralela
WPF 06 - personalizando los controles de interfaz de usuario
ASP.NET MVC - introduccion al web api
ASP.NET MVC - implementando globalizacion and localizacion
ASP.NET MVC - areas, manejo de estado
ASP.NET MVC - Introducción a ASP.NET MVC
Crecimiento profesional como desarrollador de software
05. Creando e implementando objetos y métodos
03. Introduccion a JavaScript y JQuery
02. Interactuando con controles de UI
Conceptos C#

Último (11)

DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
sistemas de informacion.................
PPTX
Implementación equipo monitor12.08.25.pptx
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Conceptos basicos de Base de Datos y sus propiedades
AutoCAD Herramientas para el futuro, Juan Fandiño
sistemas de informacion.................
Implementación equipo monitor12.08.25.pptx
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Fundamentos de Python - Curso de Python dia 1
Derechos_de_Autor_y_Creative_Commons.pptx
Tratará sobre Grafos_y_Arboles_Presentacion.pptx

06. Creando un proceso web worker

  • 1. Creando un proceso web worker Danae Aguilar Guzmán MCT, MS, MCTS, MCP danaeaguilar@gmail.com
  • 2. Contenido del Módulo  Iniciando y deteniendo un web worker  Pasando datos a un web worker  Configurando timeouts e intervalos  Registrando un oyente de eventos  Limitaciones de un web worker
  • 3. Web workers Web Workers  Permiten realizar operaciones asíncronas.  Permiten la ejecución de un script en una tarea de background.  El worker puede enviar mensajes de cualquier tipo que pueda ser un objeto serializado  La interfaz de usuario se mantendrá responsiva y no bloqueada.
  • 4. Iniciando y deteniendo un web worker Creando un Web Worker: Iniciando el Web Worker: Deteniendo el Web Worker: var worker = new Worker('Scripts/miWork.js'); worker.terminate(); worker.postMessage($('#mensage').val());
  • 5. Iniciando y deteniendo un web worker El script del Web Worker: Suscribiéndose a los eventos: self.onmessage = function (e) { for (c in e.data) { postMessage(e.data[c].toUpperCase()); } } worker.onmessage = function (e) { $('#resultado').append(e.data + '<br />'); }; worker.onerror = function (e) { $('#resultado').append('Error: ' + e.data + '<br />'); };
  • 6. Pasando datos a un web worker Pasando datos a un Web Worker: Recibiendo datos: worker.postMessage($('#mensage').val()); worker.onmessage = function (e) { $('#resultado').append(e.data + '<br />'); };
  • 7. Configurando timeouts e intervalos Los Web Workers pueden usar timers:  setTimeout()  clearTimeout()  setInterval()  clearInterval()
  • 8. Configurando timeouts e intervalos Los Web Workers pueden usar timers: var i = 0; function incrementarContador() { i = i + 1; postMessage(i); setTimeout("incrementarContador()", 500); } incrementarContador();
  • 9. Registrando un oyente de eventos Oyendo eventos de Web Workers: worker.onmessage = function (e) { $('#resultado').append(e.data + '<br />'); }; worker.onerror = function (e) { $('#resultado').append('Error: ' + e.data + '<br />'); };
  • 10. Limitaciones de un web worker • El estado de los Web workers es isolado de la página. • Los mensajes se serializan. Se crea una copia del mensaje, nunca el web worker y el creador referencian a un mismo objeto. • Los web workers no permiten bloqueos de synchroniza-tion, semáforos, o mutexes. • No tienen acceso al (DOM). Si necesitan acceder al DOM deben postear un mensage a su creador, su creador procesará el mensaje y accederá al DOM.