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:
- Zaman alan bütün əməliyyatlar (məsələn, fayl oxuma, şəbəkə sorğuları) hadisə növbəsinə göndərilir.
- 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.
- Ə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.