JavaScript · Avançado · Inglês · Técnico
queueMicrotask
Função global que agenda um callback na fila de microtasks, para rodar assim que o código atual terminar, antes de timers e de eventos. Não cria promise.
Onde usar
Usada em bibliotecas para adiar trabalho sem criar uma promise. Em code review, também serve para tornar sempre assíncrona uma API que às vezes responde de forma síncrona.
Em código
function obter(cache, k, cb) {
if (cache.has(k)) {
queueMicrotask(() => cb(cache.get(k)));
} else {
setTimeout(() => cb('novo'), 10);
}
}Exemplos
Use queueMicrotask to make the cached path async too.
Use queueMicrotask para tornar assíncrono também o caminho do cache.
The queueMicrotask callback runs before any timer.
O callback do queueMicrotask roda antes de qualquer timer.
Cuidado
Usar para trabalho pesado: ele ainda roda antes da renderização e pode travar a interface.