Foros del Web » Programando para Internet » Javascript »

Duda tiempo de ejecucion de fuciones

Estas en el tema de Duda tiempo de ejecucion de fuciones en el foro de Javascript en Foros del Web. Hola primero, gracias por sus valiosos aportes, este foro me ha servido bastante. Ya se que se pueden ejecutar dos funciones en un evento onclick: ...
  #1 (permalink)  
Antiguo 02/02/2011, 19:32
user_pippin
Invitado
 
Mensajes: n/a
Puntos:
Duda tiempo de ejecucion de fuciones

Hola primero, gracias por sus valiosos aportes, este foro me ha servido bastante.

Ya se que se pueden ejecutar dos funciones en un evento onclick:

Código Javascript:
Ver original
  1. <input type="button" value="funciones" onclick="funcion();funcion2()" />

La pregunta que tengo es: ¿Las dos funciones se ecutan al mismo tiempo? o ¿hasta que no se ejecuta la primera completamente no se ejecuta la otra?
  #2 (permalink)  
Antiguo 02/02/2011, 19:39
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 7 meses
Puntos: 37
Respuesta: Duda tiempo de ejecucion de fuciones

Primero se ejecuta funcion() y luego función2

es como si tuvieras en código esto:
Código Javascript:
Ver original
  1. funtion funcionGlobal(){
  2.    funcion();
  3.     funcion2();
  4. }
  5.    
  6.       <input type="button" value="funciones" onclick="funcionGlobal();" />

Saludos.
  #3 (permalink)  
Antiguo 03/02/2011, 03:27
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años
Puntos: 122
Respuesta: Duda tiempo de ejecucion de fuciones

De hecho se puede poner un poco más complicado dependiendo de lo que estés haciendo. Lo que dice goteen_mx es correcto. Javascript bloquea todo mientras entra en una función y no hace otra cosa hasta que dicha función termina de ejecutarse y regresa, pero eso no necesariamente quiere decir que todas las instrucciones dentro de dicha función han terminado de ejecutarse. Considera por ejemplo el caso en que function1 inicie un time out. En ese caso, a pesar de que la función ha terminado su ejecución, aún faltan instrucciones por ser ejecutadas. Después de determinado tiempo el interprete se va a "despertar" y ejecutará las instrucciones restantes. Esto es importante ya que puede causar errores. Lo mismo sucede con ajax. Si tu función2 depende de lo que hace la primera, considera bien todos los escenarios.

El siguiente hilo es un ejemplo de lo que te digo:
http://www.forosdelweb.com/f13/probl...ntbyid-878835/
__________________
twitter: @imbuzu
  #4 (permalink)  
Antiguo 03/02/2011, 10:48
user_pippin
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda tiempo de ejecucion de fuciones

Muchas gracias por su aclaracion. Todo entendido.
  #5 (permalink)  
Antiguo 03/02/2011, 12:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Duda tiempo de ejecucion de fuciones

En mi experiencia, ya me ha sucedido que se ejecuten ambas al mismo tiempo, pues a veces no se ha completado la primera cuando la segunda se procesa. Para asegurarte, podrías hacer algo como onclick="if(funcion1()){funcion2();}" claro que la funcion1 debe regresar algo.
  #6 (permalink)  
Antiguo 03/02/2011, 14:04
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años
Puntos: 122
Respuesta: Duda tiempo de ejecucion de fuciones

ocp001a puedes dar un ejemplo concreto de un caso en el que se te ejecutaron ambas funciones al mismo tiempo? En que navegador? Esto es por que la forma en que trabajan los interpretes no es multi-hilos. De hecho muchas personas dependen de esto para asegurar que sus programas se ejecuten bien.
__________________
twitter: @imbuzu

Etiquetas: ejecucion
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 04:07.