JavaScript'te Callback Functions

JavaScript'te callback fonksiyonlar (geri çağrı fonksiyonları), başka bir fonksiyona parametre olarak geçilen ve o fonksiyonun tamamlandığında çağrılan fonksiyonlardır. Asenkron işlemlerde kullanılarak, bir işlemin tamamlanmasını beklemek yerine işlem tamamlandığında başka bir işlem yapılmasını sağlarlar.

Callback Fonksiyonların Kullanımı

function anaFonksiyon(callback) {
    // Ana işlemler yapılır
    console.log('Ana fonksiyon çağrıldı');
    
    // Callback fonksiyonu çağır
    callback();
}

function geriCagir() {
    console.log('Callback fonksiyon çağrıldı');
}

// Ana fonksiyonu çağır ve geri çağırma fonksiyonunu parametre olarak geçir
anaFonksiyon(geriCagir);

Yukarıdaki örnekte, anaFonksiyon fonksiyonu bir callback fonksiyonunu parametre olarak alır ve işlem tamamlandığında bu fonksiyonu çağırır.

Asenkron İşlemlerde Callback Fonksiyonlar

Asenkron JavaScript işlemlerinde callback fonksiyonları sıkça kullanılır. Örneğin, setTimeout ve Fetch API gibi fonksiyonlar zaman alabilen işlemleri gerçekleştirirken callback fonksiyonlarını kullanır.

// setTimeout kullanarak callback fonksiyonu
setTimeout(function() {
    console.log('Bu bir callback fonksiyonudur');
}, 2000);

// Fetch API kullanarak callback fonksiyonu
fetch('https://api.example.com/data')
    .then(function(response) {
        return response.json();
    })
    .then(function(data) {
        console.log(data);
    });

Arrow Function ile Callback Fonksiyonlar

ES6 ile birlikte arrow function (() => {}) kullanarak da callback fonksiyonları tanımlayabiliriz.

// Arrow function ile callback fonksiyon
setTimeout(() => {
    console.log('Arrow function ile callback');
}, 1000);

Callback Fonksiyonların Önemi

Callback fonksiyonları, JavaScript'te asenkron yapıları yönetmek ve işlemleri sıralı bir şekilde gerçekleştirmek için hayati öneme sahiptir. Callback'ler ayrıca kodun daha modüler olmasını, tekrar kullanılabilirliğini ve okunabilirliğini artırır.

Sonuç

JavaScript'te callback fonksiyonları, işlem tamamlandığında çağrılan ve asenkron yapıları yönetmek için kullanılan fonksiyonlardır. Callback'ler, JavaScript kodunun daha etkili bir şekilde yazılmasını sağlar ve asenkron işlemlerde büyük önem taşır.