JavaScript is single-threaded, meaning it can execute only one task at a time. The event loop is the mechanism that allows JavaScript to handle asynchronous operations without blocking the main thread.
console.log("A");console.log("B");
Output:
AB
Examples:
Promise.thenqueueMicrotaskMutationObserverPromise.resolve().then(() => console.log("Microtask"));
Examples:
setTimeoutsetIntervalsetImmediate (Node.js)setTimeout(() => console.log("Macrotask"), 0);
console.log("Start");setTimeout(() => console.log("Timeout"), 0);Promise.resolve().then(() => console.log("Promise"));queueMicrotask(() => console.log("Microtask"));console.log("End");
Output:
StartEndPromiseMicrotaskTimeout