Error-first callback
- Node.js kursu
- Başlangıç
- Ders 80/116
- 5 dk
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
// loadUser fonksiyonunu tanımla ve error-first callback ile çağırÖrnek çözüm
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ü
function handler(err, data) {
if (____) throw err;
console.log(data);
}
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 |