Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/02/2012, 11:43
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 9 meses
Puntos: 1485
Respuesta: saber cuando se termina de ejecutar una funcion

buenas,
normalmente no hace falta determinar cuando una funcion termina su ejecucción, al menos en el caso de que se trate de dos ejecucciones contigüas. es decir, dos invocaciones que se encuentran en el mismo nivel del scope y una seguida de la otra. tal como tu ejemplo donde invocas ambos onblur. en ese contexto, no hace falta determinar cuando finaliza porque el intérprete es síncrono. es decir, que se lee línea a línea en un orden dado por el control de flujo. de modo que cuando termina la invocación del primero se inicia el segundo.

en el único caso en que el interprese se comporta de forma asíncrona son en aquellos procesos que se activan bajo ciertas circunstancias: generalmente eventos y los timers — este último no estoy seguro si se pueda considerar asíncrono. el caso de los eventos, no pueden ser explícitamente invocado por código. por ejemplo en tu caso, invocar onblur() no es lo mismo que iniciar ese evento.

en fin, si necesitaras determinar cuando finaliza una función, una implementación simple podría ser crear una variable booleana que se inicia a false justo al principio de la función, y en la última línea de la función lo cambias a true. luego en la segunda comprueba el estado de esa variable. tengase en cuenta que no es una solución 100% efectiva; la implementación asume que la función se ejecuta línea a línea sin control de flujo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.