Sobes.tech
Junior — Middle

Asinxron sistemlərdə hadisə emalı dövrünün işləmə prinsipini izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Node.js kimi asinxron sistemlərdə hadisələr döngüsü (event loop), əsas axını bloklamadan asinxron əməliyyatların icrasını idarə etməkdən məsuldur.

İş prinsipi:

  1. Zaman alan bütün əməliyyatlar (məsələn, fayl oxuma, şəbəkə sorğuları) hadisə növbəsinə göndərilir.
  2. Hadisələr döngüsü bu növbəni daim yoxlayır və əməliyyat tamamlandıqda müvafiq callback və ya işləyicini çağırır.
  3. Əsas axın bloklanmır, növbəti kodu icra etməyə davam edir, tamamlanan hadisələr ortaya çıxana qədər.

Bu, resurslardan səmərəli istifadə etməyə və Node.js-in tək iplikli təbiətinə baxmayaraq, çoxsaylı əməliyyatları paralel işləməyə imkan verir.

Nümunə:

console.log('Başlanğıc');
setTimeout(() => {
  console.log('Asinxron hadisə');
}, 1000);
console.log('Son');

Nəticə belə olacaq:

Başlanğıc
Son
Asinxron hadisə

Çünki setTimeout funksiyasını hadisələr növbəsinə qoyur və hadisələr döngüsü onu daha sonra çağırır.