Middle
V akom poradí sa zobrazia čísla v kóde s Promise, setTimeout a synchronickým kódom (Event Loop)?
sobes.tech AI
Odpoveď od AI
U JavaScript-u, redosled izvršavanja koda sa Promise, setTimeout i sinhronim kodom određuje Event Loop i redovi mikrotaskova (microtasks) i makrotaskova (macrotasks).
Razmotrimo primer:
console.log('1');
setTimeout(() => {
console.log('2');
}, 0);
Promise.resolve().then(() => {
console.log('3');
});
console.log('4');
Objašnjenje:
- Prvo se izvršava sav sinhroni kod, pa se prikazuju
1i4. - Zatim se izvršavaju mikrotaskovi (Promise), prikazujući
3. - Nakon toga, makrotaskovi (setTimeout), prikazujući
2.
Konačni redosled izlaza je: 1, 4, 3, 2.
Dakle, sinhroni kod se izvršava prvi, zatim mikrotaskovi (Promise), i na kraju makrotaskovi (setTimeout). Ovo je ključni aspekt razumevanja Event Loop-a u JavaScript-u.