sync, timeout, promise, sync
Logs síncronos rodam primeiro, depois a microtask da promise, depois a macrotask do timeout.
log(1); setTimeout(2); Promise.then(3); log(4) -> 1, 4, 3, 2Monte uma sequência ou cole instruções JavaScript compatíveis para modelar código síncrono, microtasks, timers, callbacks de animação e nextTick do Node.js passo a passo.
Questão clássica de entrevista: console.log síncrono, setTimeout(0), Promise.then e log final.
Modelo interativo passo a passo da Call Stack, Fila de Microtasks, Fila de Tarefas, callbacks de animação e nextTick do Node.js.
Avaliando o script síncrono principal na Call Stack.
Preencha os valores, cole o texto ou envie o arquivo que esta ferramenta usa.
A maioria das ferramentas atualiza enquanto você digita; algumas usam um único botão. De qualquer forma, o resultado aparece aqui mesmo.
Copie, baixe ou compartilhe o que a ferramenta gerar — o controle é sempre seu.
O Simulador do Event Loop JavaScript modela a ordem de execução de instruções síncronas, jobs de Promise e queueMicrotask, callbacks de setTimeout, requestAnimationFrame e process.nextTick do Node.js sem executar o código.
Escolha um preset, monte uma sequência ou informe instruções JavaScript compatíveis para inspecionar passo a passo um modelo determinístico da pilha e das filas de tarefas.
O editor reconhece os padrões de instrução compatíveis e os transforma em rótulos de um modelo local de ordenação. Ele não executa JavaScript arbitrário, resolve variáveis, faz requisições de rede nem reproduz exceções e valores de retorno.
Os atrasos dos temporizadores definem uma ordem relativa determinística em vez de simular tempo de relógio. requestAnimationFrame depende das oportunidades de renderização de um navegador real, e process.nextTick pertence ao Node.js; por isso, esses presets explicam conceitos de runtimes separados, não uma linha do tempo universal.
Logs síncronos rodam primeiro, depois a microtask da promise, depois a macrotask do timeout.
log(1); setTimeout(2); Promise.then(3); log(4) -> 1, 4, 3, 2As instruções e os rótulos ficam na memória do navegador nesta página. Eles não são enviados, armazenados pela ferramenta nem executados como JavaScript; somente interações agregadas podem ser contadas pela análise baseada em consentimento.
Porque o ponto de verificação de microtasks esvazia os callbacks de Promise enfileirados antes de o event loop selecionar a próxima tarefa de temporizador. O atraso de 0 ms torna o timer elegível; ele não interrompe a tarefa atual nem suas microtasks.
Sim, como uma continuação modelada: o preset de async/await e as linhas compatíveis que contêm await representam o trabalho posterior ao await como microtask. A ferramenta não executa a função assíncrona nem resolve seu valor.
Não. A ordem principal do código síncrono e dos pontos de verificação de microtasks é representada, mas o tempo dos timers, as oportunidades de renderização e as fases do Node.js envolvem detalhes fora deste modelo determinístico. Leia os presets de rAF e process.nextTick como exemplos separados de navegador e Node.js.
O simulador ordena macrotasks por atraso e mantém a ordem original em empates, seguindo a ordenação estável usada no modelo.
Não. Ele reconhece padrões compatíveis de console.log, setTimeout, Promise/.then, queueMicrotask, requestAnimationFrame, process.nextTick e await e os converte em etapas do modelo. JavaScript não reconhecido é tratado como rótulo, não executado.
Gere identificadores UUID v4 e GUID individuais ou em lote no navegador.
Formate, minifique e valide JSON e XML, e converta entre JSON e YAML no navegador.
Crie QR codes e leia imagens de QR localmente.
Codifique e decodifique texto em Base64 localmente.
Codifique e decodifique URLs em abas separadas, com opções de lote e recursão.
Converta timestamp Unix (segundos e milissegundos) em data/hora e vice-versa.
Codifique e decodifique entidades HTML com segurança.
Teste expressões regulares e prévias de substituição.
Decodifique header e payload de JWT localmente.
Monte, valide e decodifique expressões cron de 5 campos com prévia de execuções.