JavaScript'te Async Programming

JavaScript, asenkron (async) programlama için çeşitli yöntemler sunar. Asenkron programlama, işlemlerin arka planda gerçekleştirildiği ve ana iş parçacığı bloke etmeden devam edebildiği bir programlama yaklaşımıdır. Bu durum, kullanıcı arabirimi tepkilerini artırır ve ağ çağrıları gibi zaman alan işlemlerin daha verimli bir şekilde yönetilmesine olanak tanır.

setTimeout

setTimeout fonksiyonu, belirtilen işlevi ve belirli bir süre sonunda (milisaniye cinsinden belirlenen gecikme süresi) çağıran JavaScript API'sine bir arayüzdür.

console.log("Başlangıç");

setTimeout(function() {
    console.log("Zaman aşımı! 3 saniye geçti.");
}, 3000);

console.log("Bitiş");

Yukarıdaki örnekte, "Zaman aşımı! 3 saniye geçti." metni, "Bitiş" metninden sonra 3 saniye sonra konsola yazdırılır.

setInterval

setInterval fonksiyonu, belirli bir işlevi belirli aralıklarla (milisaniye cinsinden belirlenen süre aralığı) çağıran JavaScript API'sine bir arayüzdür.

let sayac = 0;

let intervalID = setInterval(function() {
    sayac++;
    console.log("Sayac: " + sayac);
    if(sayac === 5) {
        clearInterval(intervalID);
        console.log("Sayaç durduruldu.");
    }
}, 1000);

Yukarıdaki örnek, her saniye bir artan bir sayacı konsola yazdırır ve sayaç 5'e ulaştığında interval durdurulur.

requestAnimationFrame

requestAnimationFrame, tarayıcı tarafından sağlanan ve tarayıcının yeniden boyutlandırılmasına ve bir sonraki ekranda gösterim için bir işlevin çağrılmasına yardımcı olan bir API'dir.

function animasyonAdim() {
    // Animasyon adımı işlemleri
    requestAnimationFrame(animasyonAdim);
}

requestAnimationFrame(animasyonAdim);

Yukarıdaki örnekte, requestAnimationFrame ile tarayıcı ekranı her güncelleme sırasında animasyonAdim fonksiyonu çağrılacaktır.

Bu örnekler, JavaScript'te asenkron programlama kullanımına örnek olarak gösterilebilecek yaygın kullanılan yöntemlerdir. Asenkron programlama, JavaScript uygulamalarında verimliliği artırmanın ve daha iyi bir kullanıcı deneyimi sağlamanın önemli bir yoludur.