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:
- Visas operācijas, kas prasa laiku (piemēram, failu lasīšana, tīkla pieprasījumi), tiek nosūtītas uz notikumu rindu.
- Notikumu cilpa pastāvīgi pārbauda šo rindu un, kad operācija beidzas, izsauc atbilstošo callback vai apstrādātāju.
- 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.