Middle+
Event Loop haqqında danış: bu nədir, necə işləyir?
sobes.tech Süni İntellekt
AI-dan cavab
Event Loop — JavaScript və digər tək ipli mühitlərdə işləyən mexanizmdir və əsas axını bloklamadan asinxron əməliyyatları işləməyə imkan verir.
Necə işləyir:
- Çağrı yığını (call stack) mövcuddur və burada icra üçün funksiyalar yerləşdirilir.
- Asinxron əməliyyatlar (məsələn, timerlər, şəbəkə sorğuları) tamamlandıqda, callback-lərini task queue-ya (tapşırıq növbəsinə) göndərir.
- Event Loop daim call stack-in boş olub-olmadığını yoxlayır. Əgər boşdursa, ilk tapşırığı task queue-dan alır və icra üçün stack-ə yerləşdirir.
Beləliklə, hətta asinxron əməliyyatlar olsa da, kod ardıcıl şəkildə icra olunur, UI və ya digər prosesləri bloklamadan.
Nümunə:
console.log('Start');
setTimeout(() => {
console.log('Timeout');
}, 0);
console.log('End');
Nəticə belə olacaq:
Start
End
Timeout
Çünki setTimeout callback-i task queue-ya düşür və stack boşaldıqdan sonra icra olunur.