ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

microtask

/ˈmaɪkɹoʊˌtæsk/substantivo

Tarefa curta da fila de alta prioridade, alimentada por then de promises, await e queueMicrotask. Roda logo após o código atual, antes de timers e eventos de interface.

Onde usar

Explica por que o then roda antes de um setTimeout de zero. Em code review, microtasks que se reagendam sem fim travam a página, pois a fila precisa esvaziar antes de continuar.

Em código

setTimeout(() => console.log('timer'), 0);
Promise.resolve('micro').then(console.log);
console.log('sync');
// sync, micro, timer

Exemplos

The then callback is a microtask, so it runs before the timer.

O callback do then é uma microtask, então roda antes do timer.

A microtask that keeps rescheduling itself starves the page.

Uma microtask que se reagenda sem parar sufoca a página.

Cuidado

Criar um loop infinito de microtasks, que bloqueia timers e renderização.

Antônimos

macrotask

Veja também

Todos os termos de JavaScript