Sobes.tech
Middle+

Event Loop hakkında konuş: bu nedir, nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Event Loop — JavaScript ve diğer tek iş parçacıklı ortamlarındaki mekanizmadır ve ana akışı engellemeden asenkron işlemleri işleme almayı sağlar.

Nasıl çalışır:

  1. Bir çağrı yığını (call stack) vardır ve fonksiyonlar burada yürütülmek üzere yerleştirilir.
  2. Asenkron işlemler (örneğin, zamanlayıcılar, ağ istekleri) tamamlandığında, geri çağrıları (callback) görev kuyruğuna (task queue) gönderir.
  3. Event Loop sürekli olarak çağrı yığınının boş olup olmadığını kontrol eder. Boşsa, ilk görevi alır ve yürütmek üzere yığına yerleştirir.

Bu şekilde, asenkron işlemler bile kodun sıralı şekilde çalışmasını sağlar, UI veya diğer süreçleri engellemeden.

Örnek:

console.log('Start');
setTimeout(() => {
  console.log('Timeout');
}, 0);
console.log('End');

Çıktı şu şekilde olur:

Start
End
Timeout

Çünkü setTimeout geri çağrısı görev kuyruğuna düşer ve çağrı yığını boşaldıktan sonra çalıştırılır.