JavaScriptAdvanced#event-loop#async

What are microtasks and macrotasks?

Microtasks are promise reactions, queueMicrotask and MutationObserver callbacks; the queue is fully drained after each task. Macrotasks include setTimeout, setInterval, I/O and UI events, and only one runs per loop turn.

Example
setTimeout(() => console.log('macro'));
Promise.resolve().then(() => console.log('micro'));
// micro then macro

Related Questions

1
JavaScriptIntermediate#async#promises

What is a Promise and what are its states?

Open
2
JavaScriptAdvanced#async#promises

Difference between Promise.all, allSettled, race and any?

Open
3
JavaScriptIntermediate#async

How does async/await work?

Open