Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/09/2008, 16:54
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: aporte: programacion secuencial

Hola:

Es un hilo muy viejo, y no sabía lo que eran los closures, así que probablemente podría mejorar el código ahora mismo.

Si tienes que hacer 20 segundos, después 10 y luego otros 20 lo más cómodo es llamar directamente al de 20, y programar un setTimeout para las acciones siguientes dentro de 10 y 30 segundos respectivamente. A ver si con esto lo entiendes mejor. Al inicio de la aplicación ejecutaríamos estas 3 cosas:
  • Llamamos a f1() que está 20 segundos ejecutándose
  • Ponemos un setTimeout para f2() para que se ejecute dentro de 20 segundos (y sabemos que durará 10).
  • Ponemos otro setTimeout para f3() para que se ejecute dentro de 30 segundos (1º+2º = 20''+10'' = 30'')
Al inicio se ejecutará f1(), que tardará 20 segundos. Al de 20 segundos del inicio se ejecutará f2(), que a su vez tardará 10 segundos más. Después de esos 10 segundos (30 segundos desde el inicio) se ejecutará finalmente f3().


Es cómodo si sabes cuánto van a durar las funciones. Sino es muuucho más complicado, hay que jugar con una variable que habría que comprobar si cambia de estado cada muy poco (que es básicamente lo que hacía mi comprobarSi()).


Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.