|Demuestra por qué setTimeout(fn, 0) no es inmediatoasyncMedio
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 10:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Demuestra por qué setTimeout(fn, 0) no es inmediato

Medio10 pts·Asíncrono / Promesas
ruleRestricciones
  • radio_button_unchecked
    Usa setTimeout
  • radio_button_unchecked
    Usa Promise.resolve().then para la microtarea

Enunciado

setTimeout(fn, 0) no ejecuta fn inmediatamente — la encola como macrotarea, que se ejecuta después de que termina el código síncrono y las microtareas pendientes.

Implementa demonstrateOrder, una función que:

  1. Crea un array log = [].
  2. Añade "sync" al log directamente.
  3. Usa Promise.resolve().then(() => log.push("micro")) para añadir "micro".
  4. Usa setTimeout(() => log.push("macro"), 0) para añadir "macro".
  5. Retorna log inmediatamente (antes de que las callbacks async se ejecuten).

El array retornado solo contendrá ["sync"] porque las callbacks asíncronas no se han ejecutado aún.

demonstrateOrder(); // ["sync"]
Restriccionesexpand_more
  • Dificultad: Medio
  • Completa todos los test cases para obtener los 10 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Demuestra por qué setTimeout(fn, 0) no es inmediato — Medio | Coding Challenges · Coding Challenges