CodeBlanks Logo Icon CodeBlanks

Callback nedir?

Callback fonksiyon kavramını ve kullanımını öğrenirsin.

Callback nedir?

Bir callback, başka bir fonksiyona parametre olarak verilen ve daha sonra çağrılan fonksiyondur. Çağrı zamanı hemen değil, bir olay tamamlandığında gelir.

Sözdizimi: function çalıştır(cb) { cb(); }. Burada cb bir fonksiyondur ve çalıştır onu uygun gördüğü yerde çağırır. Sen fonksiyonu tanımlarsın, başka bir fonksiyon onu senin yerine çalıştırır.

Örnek: setTimeout(() => console.log('merhaba'), 1000). Burada ok fonksiyonu bir callback'tir; 1 saniye sonra setTimeout tarafından çağrılır. Callback'ler gecikmeli ve olay tabanlı işlerde yaygındır.

Çağrı zamanı

Callback'in gücü, çağrı zamanının esnek olmasından gelir. Sen fonksiyonu tanımlarsın; çağıran taraf ne zaman ve nasıl çağıracağına karar verir. Bu, olay tabanlı programlamada temel bir desendir.

Örnek: function withGreeting(name, cb) { cb('Merhaba ' + name); }. Burada withGreeting, cb'ye bir değer geçirir. Çağıran taraf bu değeri alır ve kullanır: withGreeting('Ayşe', msg => console.log(msg)).

Bu desen, veriyi hazırlayan taraf ile onu kullanan tarafı ayırır. Hazırlık tamamlandığında callback çağrılır; böylece sen her iki tarafı bağımsız olarak değiştirebilirsin.

Uygulama Callback ile selamla

withGreeting(name, cb) fonksiyonunu tanımla. Gövdesi cb('Merhaba ' + name) çağrısı yapsın. withGreeting('Ayşe', msg => console.log(msg)) biçiminde çağır; sonuç ekrana yazılsın.

Başlangıç kodu

index.js
// withGreeting fonksiyonunu tanımla ve callback ile çağır

Örnek çözüm

index.js
function withGreeting(name, cb) {
  cb('Merhaba ' + name);
}
withGreeting('Ayşe', msg => console.log(msg));

Beklenen çıktı

Merhaba Ayşe

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Callback ne demektir?

  • Sonra çağrılacak fonksiyon Doğru cevap
  • Dönen değer
  • Bir hata
  • Döngü gövdesi

Açıklama: callback parametre olarak verilen ve sonra çağrılan fonksiyondur.

2 Callback'i çağır

Soru
function run(cb) {
  ____;
}
Cevap
function run(cb) {
  cb();
}

Açıklama: cb() ile parametre olarak gelen fonksiyon çağrılır.

3 Callback parçalarını eşle

Kavram Anlamı
cb Callback parametresi
cb() Callback çağrısı
() => {} Callback olarak verilen fonksiyon
setTimeout Callback kullanan fonksiyon

Başlangıç bölümündeki tüm dersler