Async/Await: Temel Bilgiler
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
}
Yukarıdaki kod, fetch işlemi tamamlanana kadar diğer kodları bekler. Ancak, işler her zaman bu kadar sorunsuz gitmeyebilir.
Beklenmedik Hatalarla Karşılaşmak: Ne Yapmalı?
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
if (!response.ok) {
throw new Error('Veri çekilemedi');
}
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Hata oluştu:', error.message);
}
}
Burada, try bloğunda asenkron işlemi yaparken, catch bloğunda meydana gelen hatayı yakalıyoruz. Eğer API'den gelen veri beklediğimiz gibi değilse, hata mesajını kullanıcıya gösteriyoruz.
Hata Yönetiminde İleri Seviye Yöntemler
async function fetchDataWithRetry() {
const maxAttempts = 3;
let attempt = 0;
while (attempt < maxAttempts) {
try {
const response = await fetch('https://api.example.com/data');
if (!response.ok) {
throw new Error('Veri çekilemedi');
}
const data = await response.json();
console.log(data);
break; // Başarılı olursa döngüyü sonlandır
} catch (error) {
attempt++;
console.error(`Deneme ${attempt} başarısız: ${error.message}`);
if (attempt === maxAttempts) {
console.error('Tüm denemeler başarısız oldu.');
}
}
}
}
Bu örnekte, fetch işlemini 3 kez tekrarlıyoruz ve her başarısız denemede kullanıcıyı bilgilendiriyoruz. Bu, özellikle ağ sorunları gibi geçici problemler için kullanışlıdır.
Sonuç: Hata Yönetimi Her Zaman Gerekli
Unutmayın, her hata, geliştirme sürecinde önemli bir adımdır. Hataları doğru yöneterek, yazılım dünyasında daha sağlam bir temel oluşturabilirsiniz!