JavaScript

Microtasks vs macrotasks

Në shqip: Mikrodetyrat dhe makrodetyrat

ShpjegimiSQ

Event loop-i ka dy radhë: mikrodetyrat (promise, queueMicrotask) ekzekutohen menjëherë pas kodit aktual, para makrodetyrave (setTimeout, ngjarjet). Prandaj një promise mbaron para një setTimeout(0).

EnglishEN

The event loop has two queues: microtasks (promises, queueMicrotask) run right after the current code, before macrotasks (setTimeout, events). That's why a promise finishes before a setTimeout(0).

Si ta mendosh

Si radha VIP që shërbehet para radhës së zakonshme.

Lexoje në anglisht

Like the VIP queue served before the normal queue.

Shembull kodijavascript

setTimeout(() => console.log("3"), 0);
Promise.resolve().then(() => console.log("2"));
console.log("1");   // 1, 2, 3

Terma të lidhur