Foros del Web » Programando para Internet » Javascript »

Flujo de scripts después de un evento

Estas en el tema de Flujo de scripts después de un evento en el foro de Javascript en Foros del Web. Buenas, quería absorber un poco de info acerca de eventos a ver si ustedes saben. Me gustaría saber si al llamar a un evento de ...
  #1 (permalink)  
Antiguo 14/07/2011, 08:55
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 9 años, 1 mes
Puntos: 91
Flujo de scripts después de un evento

Buenas, quería absorber un poco de info acerca de eventos a ver si ustedes saben.

Me gustaría saber si al llamar a un evento de manera explicita sobre un elemento, la función que maneja el evento es llamada en Paralelo? o el flujo de los scripts continúa luego de atendido el evento?

por ejemplo, tengo el elemento "elem" y llamo explicitamente la función que trata el evento, así

Código Javascript:
Ver original
  1. elem.change();

Después de eso pongo más sentencias, por ejemplo:

Código Javascript:
Ver original
  1. elem.change();
  2. var a = b;
  3. llamar_funcion();
  4. .
  5. .
  6. .

etc;

las demás sentencias son llamadas luego del tratamiento del evento "change" o es llamado en paralelo?
es que me ha pasado que javascript me trata ciertas llamadas en Threads distintos :S

un gustazo tener acceso a su ayuda.
Se cuidan

saludos.
  #2 (permalink)  
Antiguo 14/07/2011, 09:12
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.098
Antigüedad: 15 años, 4 meses
Puntos: 790
Respuesta: Flujo de scripts después de un evento

Por regla general javascript maneja un sólo hilo de ejecución. Las excepciones a esto son los temporizadores (setTimeout, setInterval), los workers (html5) y AJAX en modo asíncrono (XMLHttpRequest).
  #3 (permalink)  
Antiguo 14/07/2011, 09:33
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 8 años, 5 meses
Puntos: 343
Respuesta: Flujo de scripts después de un evento

Los temporizadores y consultas ajax estan en el mismo hilo de ejecución, no así los workers.
__________________
blog | @aijoona
  #4 (permalink)  
Antiguo 14/07/2011, 09:49
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.098
Antigüedad: 15 años, 4 meses
Puntos: 790
Respuesta: Flujo de scripts después de un evento

Cuando hablo de hilo no me refiero al hilo de proceso o cola sino al de ejecución. Un ejemplo para más claridad:
Código PHP:
<script type="text/javascript">
var 
a=5;
setTimeout(function(){++a;alert(a);},0);//esto se ejecutará al final, aunque el delay sea 0
alert(a);
</script> 
  #5 (permalink)  
Antiguo 14/07/2011, 10:09
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 9 años, 1 mes
Puntos: 91
Respuesta: Flujo de scripts después de un evento

Oh! bien, es lo que necesitaba saber =)

Cuando nombre ese proceso que se ejecutaba en otro hilo era justamente Ajax, y para seguir el hilo debía hacer un callback, por eso pensaba que para funciones normales también debía hacer lo mismo :P

PEro mi duda ya fue aclarada muchas gracias ;D
  #6 (permalink)  
Antiguo 14/07/2011, 10:44
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.098
Antigüedad: 15 años, 4 meses
Puntos: 790
Respuesta: Flujo de scripts después de un evento

Una buena lectura para profundizar en este tema: http://ejohn.org/blog/how-javascript-timers-work/
  #7 (permalink)  
Antiguo 14/07/2011, 10:50
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 8 años, 5 meses
Puntos: 343
Respuesta: Flujo de scripts después de un evento

Cita:
Iniciado por Panino5001 Ver Mensaje
Cuando hablo de hilo no me refiero al hilo de proceso o cola sino al de ejecución. Un ejemplo para más claridad:
Código PHP:
<script type="text/javascript">
var 
a=5;
setTimeout(function(){++a;alert(a);},0);//esto se ejecutará al final, aunque el delay sea 0
alert(a);
</script> 
Pero eso es por la forma en la que está implementada el setTimeout (que por defecto va al final del stack), hablar de distintos hilos de ejecución es abrir la puerta a la confusión, ya que ambas instrucciones se ejecutan en el mismo hilo en un orden dado.
__________________
blog | @aijoona
  #8 (permalink)  
Antiguo 14/07/2011, 11:00
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.098
Antigüedad: 15 años, 4 meses
Puntos: 790
Respuesta: Flujo de scripts después de un evento

Es una cuestión semántica. Llamalo hilo de resultados si querés o cola de eventos o hablemos de sincronía y asincronía y cómo lo que es asíncrono se encola para ser procesado tras lo síncrono, de la misma forma en que se encolan los handlers cuando se dispara un evento.
Obviamente Ribon preguntaba sobre este hilo temporal de resultados y no sobre el hilo de procesos (no tiene demasiado sentido hablar del hilo de procesos tampoco, porque cada motor lo implementa a su manera).

Etiquetas: evento, flujo, scripts
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.