typestar

Microtareas y macrotareas en JavaScript

Las promesas se cuelan: cada microtarea corre antes del siguiente temporizador.

console.log("1 synchronous");

setTimeout(() => console.log("5 timeout"), 0);

Promise.resolve().then(() => console.log("3 microtask"));
queueMicrotask(() => console.log("4 queueMicrotask"));

console.log("2 synchronous end");

// imprime 1, 2, 3, 4, 5 -- el temporizador va al final aun con retraso cero

Cómo funciona

  1. El código síncrono termina primero, siempre.
  2. Luego se vacía la cola de microtareas: promesas y queueMicrotask.
  3. Solo entonces le toca el turno al callback de un temporizador.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
10
Caracteres a escribir
304
Tokens
62
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 35 segundos.

Escribe este fragmento

Paso 1 de 3 en Planificación; paso 12 de 19 en Promesas y async.

← Anterior Siguiente →