The Event Loop
Event loop, MULTIPLE, PHASES, mein, RUN, hota hai — timers (setTimeout/setInterval), pending callbacks, poll (I/O EVENTS), check (setImmediate), aur, close callbacks. HAR, PHASE, apni, QUEUE, ke, CALLBACKS, PROCESS, karta hai.
Microtasks (Promises, process.nextTick), HAR, PHASE, ke, BAAD, IMMEDIATELY, PROCESS, hote, hain, MACROTASKS, (setTimeout) se, PEHLE — ISLIYE, Promise.resolve().then() setTimeout(fn, 0) se, PEHLE, RUN, hota hai.
console.log("1: Synchronous");
setTimeout(() => console.log("2: setTimeout (macrotask)"), 0);
Promise.resolve().then(() => console.log("3: Promise (microtask)"));
console.log("4: Synchronous");
// Output order: 1, 4, 3, 2 — microtasks, macrotasks se, PEHLE- Event loop = multiple phases, mein, RUN, hota, hai (timers, poll, check, etc.)
- Microtasks (Promises), macrotasks (setTimeout) se, PEHLE, PROCESS, hote hain
- Non-blocking I/O ka, CORE mechanism, hai
setImmediate(), "check" PHASE, mein, EXECUTE, hota hai — setTimeout(fn, 0), "timer" PHASE, mein. I/O, CALLBACK, ke, ANDAR, se, CALL, kiye, jaане, PAR, setImmediate(), HAMESHA, setTimeout, se, PEHLE, RUN, hota hai — MAIN, MODULE, mein, ORDER, GUARANTEED, NAHI, hai.
const fs = require("fs");
fs.readFile(__filename, () => {
setTimeout(() => console.log("timeout"), 0);
setImmediate(() => console.log("immediate"));
});
// Output: "immediate" phir "timeout" — I/O callback, ke, andarLong-running, SYNCHRONOUS, CODE, (jaise, EK, HEAVY, for, LOOP, YA, JSON.parse() EK, BADI, FILE, PAR) EVENT, LOOP, ko, BLOCK, kar, deta, hai — POORI, APP, UNRESPONSIVE, ho, jaati hai, kyunki, KOI, BHI, ANYA, REQUEST, PROCESS, NAHI, ho, sakti.