Middle
Millises järjekorras kuvatakse numbrid koodis, mis kasutab Promise, setTimeout ja sünkroonset koodi (Event Loop)?
sobes.tech AI
Vastus AI-lt
JavaScriptis määrab Promise, setTimeout ja sünkrone koodi täitmise järjekorra Event Loop ja mikro- ning makroülesannete (microtasks ja macrotasks) järjekordade kaudu.
Vaatleme näidet:
console.log('1');
setTimeout(() => {
console.log('2');
}, 0);
Promise.resolve().then(() => {
console.log('3');
});
console.log('4');
Selgitus:
- Kõigepealt täidetakse kogu sünkrone kood, seega kuvatakse
1ja4. - Seejärel täidetakse mikroülesanded (Promise), kuvades
3. - Pärast seda täidetakse makroülesanded (setTimeout), kuvades
2.
Lõplik väljundi järjekord on: 1, 4, 3, 2.
Seega täidetakse sünkrone kood esimesena, järgivad mikroülesanded (Promise) ja lõpuks makroülesanded (setTimeout). See on oluline punkt Event Loop mõistmiseks JavaScriptis.