CodeBlanks Logo Icon CodeBlanks

Error-first callback

Node.js error-first callback kuralını öğrenirsin.

Error-first callback

Node.js'te callback'ler için yerleşik bir sözleşme (convention) vardır: callback'in ilk parametresi her zaman hatadır. Buna error-first callback denir.

Sözdizimi: function handler(err, data) { if (err) throw err; console.log(data); }. İlk parametre err: hata yoksa null, varsa hata nesnesi alır. İkinci parametre ise asıl veridir. Bu sözleşme Node.js'in tüm çekirdek API'lerinde kullanılır.

Bu desen, hatayı işlemenin standart bir yolunu sunar. Callback her çağrıldığında önce err kontrol edilir; null ise devam edilir, değilse hata fırlatılır veya uygun şekilde ele alınır.

Hatayı kontrol et

Error-first callback'lerde ilk iş hatayı kontrol etmektir. if (err) ile hata varsa uygun şekilde işlem yapılır: fırlatmak, günlüğe yazmak veya kullanıcıya bildirmek.

Standart bir denetim şöyledir: if (err) { console.error(err); return; }. Bu, hatayı yazdırır ve fonksiyondan çıkar; veri işlenmez. Hata yoksa err null olur ve data güvenle kullanılır.

Bu deseni her çağrıda tekrarlarsın. Node.js'in dosya, ağ ve zamanlayıcı API'leri bu sözleşmeye uyar; bu yüzden hatayı kontrol etmek callback kullanımının ayrılmaz bir parçasıdır.

Uygulama Error-first simülasyonu

loadUser(id, cb) fonksiyonunu tanımla. id 0 ise cb(new Error('yok'), null), değilse cb(null, { name: 'Ayşe' }) çağrısı yapsın. loadUser(1, (err, user) => { if (err) { console.error(err.message); return; } console.log(user.name); }) biçiminde çağır.

Başlangıç kodu

index.js
// loadUser fonksiyonunu tanımla ve error-first callback ile çağır

Örnek çözüm

index.js
function loadUser(id, cb) {
  if (id === 0) { cb(new Error('yok'), null); return; }
  cb(null, { name: 'Ayşe' });
}
loadUser(1, (err, user) => {
  if (err) { console.error(err.message); return; }
  console.log(user.name);
});

Beklenen çıktı

Ayşe

Soru ve cevaplar

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

1 Error-first callback'in ilk parametresi nedir?

  • Veri
  • Status kodu
  • Callback adı
  • Hata Doğru cevap

Açıklama: ilk parametre err'dir; null ise sorun yoktur.

2 Hata kontrolü

Soru
function handler(err, data) {
  if (____) throw err;
  console.log(data);
}
Cevap
function handler(err, data) {
  if (err) throw err;
  console.log(data);
}

Açıklama: if (err) ile hata varsa fırlatılır, yoksa devam edilir.

3 Error-first parçalarını eşle

Kavram Anlamı
err Birinci parametre
data İkinci parametre
null Hata yokken err'nin değeri
if (err) Hata denetimi

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