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.