Foros del Web » Programando para Internet » Javascript »

implementar función delay (o retraso)

Estas en el tema de implementar función delay (o retraso) en el foro de Javascript en Foros del Web. Tengo dos funciones. Cada una de ellas utiliza un settimeout (el cual parece ser que no detienen el código, sino que este sigue ejecutándose) que ...
  #1 (permalink)  
Antiguo 11/12/2006, 06:22
 
Fecha de Ingreso: mayo-2006
Mensajes: 32
Antigüedad: 18 años
Puntos: 0
implementar función delay (o retraso)

Tengo dos funciones. Cada una de ellas utiliza un settimeout (el cual parece ser que no detienen el código, sino que este sigue ejecutándose) que la llama a si misma. El caso es que necesito que acabe la primera función para que comience la segunda, lo cual no hace por que se ejecutan al mismo tiempo (debido a la utilización de settimeout).
He pensado, entonces, implementar una especie de función delay en javascript:
Código:
		function pausa(milis) {
		ahora=new Date();
		var antes=ahora.getTime();
		var despues=ahora.getTime();
		while ( despues-antes < milis){
			ahora=new Date();
			var despues=ahora.getTime();
		}
y así colocarla entre las dos funciones (la variable milis que sea el tiempo que necesite la primera función para acabar con todas las iteraciones provocadas por su settimeout).
El problema es que no hace caso, parece que la función pausa(milis) detiene la ejecución de todos los procesos, y hasta que no pasa el tiempo determinado no continua dicha ejecución.
¿Alguien sabe como hacer que una settimeout utilizada en una función que se llama a si misma le permita acabar el proceso?

Un saludo,
Javier
  #2 (permalink)  
Antiguo 24/02/2007, 10:19
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: implementar función delay (o retraso)

Hice una implementación para que dos funciones se ejecuten hiladas, pero sólo se ejecute la segunda después de que la primera haya terminado:
http://www.forosdelweb.com/f13/aporte-programacion-secuencial-432551/

Tu función pausa la veo bien, sólo que come muchos recursos porque destruye otros procesos totamente, así que ese while habría que llamarlo con un setTimout a su vez para que no paralizase todo el navegador.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 13:25.