Sobes.tech
Junior — Middle

Node.js-də Event Loop-un işləmə prinsipi və onun vəzifələrin asinxron işlənməsində rolu haqqında izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Node.js-də Event Loop, əsas icra axını bloklamadan asinxron kodun icrasına imkan verən mexanizmdir. Node.js tək bir iş parçacığında işləyir, lakin Event Loop sayəsində çoxsaylı giriş-çıxış əməliyyatlarını paralel şəkildə işləyə bilər.

İş prinsipi:

  • Asinxron əməliyyat başladıqda (məsələn, fayl oxuma və ya verilənlər bazasına sorğu göndərmək), bu, müvafiq sistem API-ya və ya növbəyə göndərilir.
  • Event Loop bu əməliyyatları izləyir və tamamlandıqda callback-ləri tapşırıq növbəsinə yerləşdirir.
  • Əsas iş parçacığı bu callback-ləri ardıcıllıqla işləyərək çağırır.

Beləliklə, Event Loop tapşırıqların bloklamadan işlənməsini təmin edir və Node.js-in çoxsaylı əməliyyatlarla səmərəli işləməsinə imkan verir.

Nümunə:

console.log('Start');
setTimeout(() => {
  console.log('Timeout callback');
}, 0);
console.log('End');
// Nəticə:
// Start
// End
// Timeout callback