Sobes.tech
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:

  1. Çağrı yığını (call stack) mövcuddur və burada icra üçün funksiyalar yerləşdirilir.
  2. 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.
  3. 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.