Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
Confusión sobre setTimeout() y asincronicidad

Tengo un poco de confusión sobre setTimeout (devolución de llamada, retraso) y la definición general de asincronía en Javascript. Estas son mis dos preguntas...

  1. ¿Cómo es que el temporizador de retardo de setTimeout() se ejecuta ("cuenta atrás") inmediatamente incluso cuando el hilo principal aún se está ejecutando (no ha completado la pila de llamadas)? ¿Está utilizando trabajadores web o un hilo separado detrás de escena?

  2. Cuando los programadores hablan de "Asynchronicity" en Javascript, ¿están hablando de la capacidad de ejecutar algún código en paralelo con el hilo principal (como cómo funciona la parte de retraso de setTimeout), O están hablando de la capacidad de simplemente posponer una función de ejecutando hasta que la pila de funciones del subproceso principal se haya vaciado (es decir, simplemente presionando una devolución de llamada en la cola de eventos para su posterior ejecución, como funciona la parte de devolución de llamada de setTimeout)?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Cómo es que el temporizador de retardo de setTimeout() se ejecuta ("cuenta atrás") inmediatamente incluso cuando el hilo principal aún se está ejecutando (no ha completado la pila de llamadas)?

No hay ningún código sentado allí que disminuya un contador. Se permite que la implementación varíe entre entornos (dado que el entorno proporciona setTimeout , no es parte de JavaScript), pero aquí hay uno probable: dado que el subproceso principal atiende una cola de trabajos, una implementación podría ver la lista de temporizadores antes de extrayendo el siguiente trabajo de la cola y, si es hora de que finalice un temporizador, agregue un trabajo a la cola para llamar a su devolución de llamada. Luego procesa esa llamada en orden desde la cola cuando aparece.

Cuando los programadores hablan de "Asynchronicity" en Javascript, ¿están hablando de la capacidad de ejecutar algún código en paralelo con el hilo principal (como cómo funciona la parte de retraso de setTimeout), O están hablando de la capacidad de simplemente posponer una función de ejecutándose hasta que la pila de funciones del subproceso principal se haya vaciado

Probablemente ambos y más, pero también menos. El punto de marcar que algo es asíncrono es decir "no verá ningún resultado para esto hasta que se complete la tarea actual" (ya que no se puede realizar una devolución de llamada asíncrona hasta que se complete la tarea). El motivo suele quedar claro en el contexto: porque tenemos que esperar a que llegue un recurso de red; porque tenemos que esperar a que el usuario haga clic en algo; porque tenemos que esperar hasta que el navegador esté a punto de mostrar el siguiente cuadro; porque tenemos que esperar a que se dispare un temporizador; porque... Entiendes la idea. :-)

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda