JavaScript'te Senkron ve Asenkron Kod
Aşağıdaki kodu ele alalım:
console.log('1');
console.log('2');
Açıktır ki, önce konsola ilk yazdırma işlemi gerçekleşecek, sonra - ikincisi. Yani kodumuzun komutları sırayla - kod içindeki sıralarına göre çalıştırılır. Bu tür koda senkron kod denir.
Şimdi şu kodu ele alalım:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
Bu durumda komutlar kod içindeki sıraya göre çalıştırılmaz: konsola ilk yazdırma işlemi zamanı geldiğinde gerçekleşecek, ancak kodun geri kalanı bu anı beklemez, çalışmaya devam eder. Bu tür koda asenkron kod denir.
Asenkron kod JavaScript'te oldukça sık ortaya çıkar: zamanlayıcılarla çalışırken, olay işleyicileri bağlarken, resimler yüklenirken, sunucudan sayfanın parçalarını yüklemeye izin veren AJAX teknolojisiyle çalışırken, sunucu tarafı JavaScript'i temsil eden NodeJS ile çalışırken.