Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot Event Loop darbības principu JavaScript?

sobes.tech AI

Atbilde no AI

JavaScript Event Loop ir mehānisms, kas ļauj apstrādāt asinhronas operācijas, neapturot galveno izpildes plūsmu.

Darbības princips:

  1. Funkciju izsaukumi un sinhronais kods tiek nekavējoties izpildīti izsaukumu stekā.
  2. Asinhronas operācijas (piemēram, taimeri, tīkla pieprasījumi) tiek nosūtītas uz Web API (pārlūkā) vai atbilstošo API Node.js.
  3. Kad asinhrona operācija beidzas, tās callback tiek ievietots uzdevumu rindā (task queue).
  4. Event Loop pastāvīgi pārbauda izsaukumu steku: ja tas ir tukšs, tas ņem pirmo callback no uzdevumu rindas un ievieto to stekā izpildei.

Tādējādi JavaScript paliek vienas pavediena, bet var efektīvi apstrādāt asinhronas operācijas bez bloķēšanas.

Piemērs:

console.log('Sākums');
setTimeout(() => {
  console.log('Asinhrona izsaukums');
}, 0);
console.log('Beigas');
// Rezultāts būs:
// Sākums
// Beigas
// Asinhrona izsaukums