sync, timeout, promise, sync
Los logs síncronos corren primero, luego la microtask de la promise, después la macrotask del timeout.
log(1); setTimeout(2); Promise.then(3); log(4) -> 1, 4, 3, 2Arma una secuencia o pega instrucciones JavaScript compatibles para modelar código síncrono, microtasks, timers, callbacks de animación y nextTick de Node.js paso a paso.
Pregunta clásica de entrevista: console.log síncrono, setTimeout(0), Promise.then y log final.
Modelo interactivo paso a paso de Call Stack, Cola de Microtasks, Cola de Tareas, callbacks de animación y nextTick de Node.js.
Evaluando el script síncrono principal en la Call Stack.
Completa los valores, pega el texto o sube el archivo que necesita esta herramienta.
La mayoría de las herramientas se actualizan mientras escribes; algunas usan un solo botón. De cualquier forma, el resultado aparece aquí mismo.
Copia, descarga o comparte lo que genere la herramienta — el control siempre es tuyo.
El Simulador del Event Loop de JavaScript modela el orden de instrucciones síncronas, trabajos de Promise y queueMicrotask, callbacks de setTimeout, requestAnimationFrame y process.nextTick de Node.js sin ejecutar el código.
Elige un preajuste, arma una secuencia o escribe instrucciones JavaScript compatibles para inspeccionar paso a paso un modelo determinista de la pila y las colas de tareas.
El editor reconoce los patrones de instrucciones compatibles y los convierte en etiquetas de un modelo local de orden. No ejecuta JavaScript arbitrario, resuelve variables, hace solicitudes de red ni reproduce excepciones y valores de retorno.
Los retrasos de los temporizadores establecen un orden relativo determinista en vez de simular tiempo real. requestAnimationFrame depende de las oportunidades de renderizado de un navegador, y process.nextTick pertenece a Node.js; por eso esos preajustes explican conceptos de runtimes separados, no una cronología universal.
Los logs síncronos corren primero, luego la microtask de la promise, después la macrotask del timeout.
log(1); setTimeout(2); Promise.then(3); log(4) -> 1, 4, 3, 2Las instrucciones y etiquetas permanecen en la memoria del navegador para esta página. La herramienta no las sube, almacena ni ejecuta como JavaScript; solo las interacciones agregadas pueden contarse mediante analítica basada en consentimiento.
Porque el punto de control de microtasks vacía los callbacks de Promise encolados antes de que el event loop elija la siguiente tarea de temporizador. Un retraso de 0 ms hace que el timer sea elegible; no interrumpe la tarea actual ni sus microtasks.
Sí, como una continuación modelada: el preajuste de async/await y las líneas compatibles que contienen await representan el trabajo posterior al await como microtask. La herramienta no ejecuta la función asíncrona ni resuelve su valor.
No. El orden principal del código síncrono y los puntos de control de microtasks está representado, pero los tiempos de timers, las oportunidades de renderizado y las fases de Node.js incluyen detalles fuera de este modelo determinista. Lee los preajustes de rAF y process.nextTick como ejemplos separados de navegador y Node.js.
El simulador ordena macrotasks por retraso y mantiene el orden original en empates, siguiendo la ordenación estable usada en el modelo.
No. Reconoce patrones compatibles de console.log, setTimeout, Promise/.then, queueMicrotask, requestAnimationFrame, process.nextTick y await y los convierte en pasos del modelo. El JavaScript no reconocido se trata como etiqueta, no se ejecuta.
Genera identificadores UUID v4 y GUID individuales o por lotes en el navegador.
Formatea, minifica y valida JSON y XML, y convierte entre JSON y YAML en el navegador.
Crea códigos QR y lee imágenes QR de forma local.
Codifica y decodifica texto en Base64 de forma local.
Codifica y decodifica URLs en pestañas separadas, con opciones por lotes y recursivas.
Convierte timestamp Unix (segundos y milisegundos) a fecha/hora y viceversa.
Codifica y decodifica entidades HTML de forma segura.
Prueba expresiones regulares y previsualiza reemplazos.
Decodifica el encabezado y el payload de un JWT localmente.
Crea, valida y decodifica expresiones cron de 5 campos con próximas ejecuciones.