0Pricing
TypeScript Academy · Ders

Eş Zamanlı TypeScript Kodunda Hata Yönetimi

Eş zamanlı hataları türlendirilmiş sarmalayıcılar ve yardımcılarla yönetin

Eş Zamanlı TypeScript Kodunda Hata Yönetimi, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Asenkron işlevler hata işlemeye karmaşıklık katar. TypeScript, Promise reddedilmelerini doğru şekilde ele almanızı sağlar.

Asenkron try-catch

Promise reddedilmelerini ele almak için await çağrılarını try-catch içine alın.
async function loadUser(id: number): Promise<User> {
  try {
    return await api.getUser(id);
  } catch (err: unknown) {
    if (err instanceof Error) throw new AppError(err.message);
    throw new AppError('Unknown error');
  }
}

Promise.all Hataları

Promise.all, ilk reddedilmeyle birlikte reddedilir. try-catch içine alın.
try {
  const [user, posts] = await Promise.all([getUser(id), getPosts(id)]);
} catch (err) { /* one or both failed */ }

Promise.allSettled

allSettled, istisna fırlatmadan hem başarılı hem de başarısız sonuçları döndürür.
const results = await Promise.allSettled([getUser(1), getPosts(1)]);
results.forEach(r => {
  if (r.status === 'fulfilled') console.log(r.value);
  else console.error(r.reason);
});

Türlü Asenkron Result

Açık hata işleme için asenkron işlemleri Result deseniyle birleştirin.
async function safeGet<T>(fn: () => Promise<T>): Promise<Result<T>> {
  try { return { ok: true, value: await fn() }; }
  catch (e) { return { ok: false, error: e as Error }; }
}

İşlenmeyen Reddedilmeler

Çökmeleri önlemek için Node.js'te işlenmeyen reddedilmeleri dinleyin.
process.on('unhandledRejection', (reason: unknown) => {
  console.error('Unhandled rejection:', reason);
  process.exit(1);
});

Promise.race ile Zaman Aşımı

Promise.race ile türlü bir zaman aşımı deseni uygulayın.
function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> {
  const timeout = new Promise<never>((_, reject) =>
    setTimeout(() => reject(new Error('Timeout')), ms));
  return Promise.race([promise, timeout]);
}

Yeniden Deneme Deseni

Türlü hatalarla türlü asenkron yeniden deneme uygulayın.
async function retry<T>(fn: () => Promise<T>, times: number): Promise<T> {
  for (let i = 0; i < times; i++) {
    try { return await fn(); } catch (e) { if (i === times - 1) throw e; }
  }
  throw new Error('Unreachable');
}

Eşzamanlı Hata İşleme

Eşzamanlı asenkron işlemleri çalıştırırken oluşan hataları ele alın.
const [userResult, postsResult] = await Promise.allSettled([
  getUser(id).then(u => ({ ok: true, value: u })).catch(e => ({ ok: false, error: e })),
  getPosts(id).then(p => ({ ok: true, value: p })).catch(e => ({ ok: false, error: e })),
]);

AsyncQueue Hata Aktarımı

Asenkron yineleyicilerdeki hatalar for-await ile doğru şekilde aktarılır.
async function* generate() {
  yield await fetchA();
  yield await fetchB(); // error here stops the loop
}
for await (const item of generate()) { process(item); }

Next.js'te Türlü Hata Ara Katmanı

Sunucu eylemlerinde türlü hata sınırlarını kullanın.
'use server';
async function createUser(data: CreateUserDto): Promise<Result<User>> {
  return safeGet(() => db.user.create({ data }));
}

Hızlı Kontrol

Bir async/await işlevinde reddedilmiş bir Promise'i yakalamazsanız ne olur?

Özet

Asenkron TypeScript Kodunda Hata İşleme: Bu konunun temel kavramlarını ve bunları gerçek TypeScript projelerinde nasıl uygulayacağınızı öğrendiniz.

Sıkça Sorulan Sorular

“Eş Zamanlı TypeScript Kodunda Hata Yönetimi” dersi ücretsiz mi?

Evet — “Eş Zamanlı TypeScript Kodunda Hata Yönetimi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“Eş Zamanlı TypeScript Kodunda Hata Yönetimi” dersinde ne öğreneceğim?

Eş zamanlı hataları türlendirilmiş sarmalayıcılar ve yardımcılarla yönetin TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Eş Zamanlı TypeScript Kodunda Hata Yönetimi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Türlendirilmiş Hata Sınıfları ve Hiyerarşileri
  2. Result Örüntüsü: Ok ve Err
  3. Yakalanan Hataları Daraltma (unknown ve Error)
  4. Eş Zamanlı TypeScript Kodunda Hata Yönetimi
← TypeScript Academy Sayfasına Dön