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_uncheckedUsa setTimeout
- radio_button_uncheckedUsa 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:
- Crea un array
log = []. - Añade
"sync"al log directamente. - Usa
Promise.resolve().then(() => log.push("micro"))para añadir"micro". - Usa
setTimeout(() => log.push("macro"), 0)para añadir"macro". - Retorna
loginmediatamente (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
exportal 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