CodeBlanks Logo Icon CodeBlanks

Callback

Native callback ve async öğrenirsin.

Callback

Bir callback, bir fonksiyona parametre olarak geçirilen ve daha sonra çağrılan fonksiyondur. Native addon'lar callback'leri JS'e yanıt vermek için kullanır. callWithCallback(value, cb) bunu modeller: cb(value) ile callback'i çağırır, sonucu döndürür.

Örnek: callWithCallback(5, (v) => v * 2). Burada (v) => v * 2 callback'tir; 5 değerle çağrılır, 10 döndürür. Native addon'da callback, uzun süren bir iş bitince çağrılır; böylece JS beklerken engellenmez. Burada senkron bir model kullanıyoruz ama yapı aynı: bir değer ve bir callback al, callback'i değerle çağır, sonucu döndür. Çıktı 10 olur; callback'in dönüş değeri.

Callback çağrısı

Bu derste callWithCallback fonksiyonunu yazacağız. Fonksiyon bir değer ve bir callback alır; callback'i değerle çağırır, sonucu döndürür. Bu, native addon'ların JS'e nasıl yanıt verdiğini basit bir modelle gösterir.

Örnek: function callWithCallback(value, cb) { return cb(value); }. callWithCallback(5, (v) => v * 2) 10 döndürür. cb(value) çağrısı callback'i çalıştırır; dönüş değeri fonksiyonun dönüşü olur. Native tarafında bu, napi_call_function ile yapılır; burada doğrudan JS çağrısı kullanıyoruz. console.log(callWithCallback(5, (v) => v * 2)) 10 yazdırır. Bu, callback deseninin en temel biçimidir.

Uygulama Callback fonksiyonu yaz

function callWithCallback(value, cb) yaz. return cb(value) ile callback'i çağır. console.log(callWithCallback(5, (v) => v * 2)) yazdır.

Başlangıç kodu

index.js
// callWithCallback fonksiyonu yaz
// bir değer ve bir geri çağrı alır
// geri çağrıyı değerle çağır, sonucu döndür
// 5 ve (v) => v * 2 ile çağır, yazdır
// buraya yaz

Örnek çözüm

index.js
function callWithCallback(value, cb) {
  return cb(value);
}
console.log(callWithCallback(5, (v) => v * 2));

Beklenen çıktı

10

Soru ve cevaplar

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

1 callWithCallback(5, (v) => v * 2) ne döndürür?

index.js
callWithCallback(5, (v) => v * 2)
  • 5
  • 2
  • 10 Doğru cevap
  • 7

Açıklama: cb(5) = 5 * 2 = 10 döner.

2 callback çağrısını tamamla

Soru
function callWithCallback(value, cb) { return ____(value); }
Cevap
function callWithCallback(value, cb) { return cb(value); }

Açıklama: cb(value) callback'i çağırır.

3 Kavramı açıklamasına eşle

Kavram Anlamı
Callback Sonra çağrılan fonksiyon
cb(value) Callback'i değerle çağırır
(v) => v * 2 Bir ok fonksiyonu
return Sonucu döndürür

Uzman bölümündeki tüm dersler