Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot notikumu apstrādes cikla darbības principu asinhronās sistēmās?

sobes.tech AI

Atbilde no AI

Notikumu cilpa (event loop) asinhroniskajās sistēmās, piemēram, Node.js, ir atbildīga par asinhrono operāciju izpildi, nesblokējot galveno pavedienu.

Darba princips:

  1. Visas operācijas, kas prasa laiku (piemēram, failu lasīšana, tīkla pieprasījumi), tiek nosūtītas uz notikumu rindu.
  2. Notikumu cilpa pastāvīgi pārbauda šo rindu un, kad operācija beidzas, izsauc atbilstošo callback vai apstrādātāju.
  3. Galvenais pavedienu netraucē, tas turpina izpildīt nākamo kodu, līdz parādās pabeigtie notikumi.

Tas ļauj efektīvi izmantot resursus un apstrādāt daudz operāciju paralēli, neskatoties uz Node.js vienas pavediena dabu.

Piemērs:

console.log('Sākums');
setTimeout(() => {
  console.log('Asinhrons notikums');
}, 1000);
console.log('Beigas');

Rezultāts būs:

Sākums
Beigas
Asinhrons notikums

Jo setTimeout ievieto funkciju notikumu rindā, un notikumu cilpa to vēlāk izsauc.