“Callback Function” Kavramı Nedir?

Bu yazımızda, “callback function” kavramı derinlemesine incelenecektir. Bu kavramın ne olduğunu, neden önemli olduğunu detaylarıyla ele alacağız. Eğer fonksiyonların birbirleriyle nasıl etkileşimde bulunduğunu ve asenkron programlamanın arkasındaki mekanizmaları merak ediyorsanız, doğru yerdesiniz.

“Callback Function” Nedir?

İngilizcede “geri çağırmak” anlamına gelen “callback” terimi, programlama dünyasında biraz daha özelleşmiştir. “Callback function“, yani geri çağırma fonksiyonu kavramı, bir işlemin tamamlandığında ne yapılması gerektiğini belirleyen fonksiyona denir.

Genellikle bir fonksiyonun içerisinde, başka bir fonksiyona argüman olarak verilir ve bu ana fonksiyonun belirli bir işlemi tamamlaması durumunda çağrılır.

Zaten birçok programlama dilinde ve kütüphanede, belirli bir işlemin tamamlanmasının ardından gerçekleştirilmesi gereken işlemler için “callback” fonksiyonlarına ihtiyaç duyulur. Özellikle olay tabanlı programlama veya asenkron işlemler söz konusu olduğunda, callback’ler çok ama çok yararlıdır.

Diyelim ki bir liste üzerinde belirli bir koşulu sağlayan elemanları filtrelemek için bir fonksiyon yazıyoruz. Bu fonksiyon, hangi koşulun kontrol edileceğini belirlemek için bir “callback” fonksiyonu alsın. Bunu JavaScript kullanarak aşağıdaki gibi yazabiliriz:

Yukarıdaki örneğimizde, filtrele fonksiyonu, parametre olarak bir liste ve bir (kontrol) fonksiyon almaktadır. Kontrol fonksiyonu (callback fonksiyonu), liste üzerindeki her eleman için çağrılır ve bu elemanın sonuç listesine eklenip eklenmeyeceğini belirler. Bu sayede, filtrele fonksiyonu genel bir işlevsellik sunar ve hangi koşulun kullanılacağını belirtmek için bir “callback” fonksiyonu alır. Bu örnekte, sadece çift sayıları filtrelemek için bir “callback” fonksiyonu sağladık.

“Callback function” kavramı, özellikle asenkron işlemler, yani dosya okuma, ağ istekleri veya belirli zaman aralıklarında gerçekleşen işlemler sırasında sıkça kullanılır. Aslında, callback’ler, bir işlemin sonucunda ne yapılacağını belirleyen programlama yaklaşımının temel taşlarından biridir desek yeridir.

Yukarıdaki örnekte, uzunSurenIslem fonksiyonu, bir “callback” fonksiyonu alır. Bu callback fonksiyonu, setTimeout ile simüle edilen uzun süren bir işlem tamamlandığında çağrılır.

Bu yaklaşım, programlamada birçok farklı senaryoda kullanılır, çünkü genellikle bir işlemin tamamlanmasının ardından bir sonraki adımın ne olacağını belirtmemiz gerekir. İşte tam da bu, callback’lerin temel kullanılma amacıdır.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu