0Pricing
TypeScript Academy · Ders

Result Örüntüsü: Ok ve Err

Hataları fırlatmak yerine değer olarak döndürün

Result Örüntüsü: Ok ve Err, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 2. 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

Result deseni, hataları değer olarak döndürerek try/catch kullanmadan tür güvenli hata işlemeyi mümkün kılar.

Result Türü

Ok ve Err varyantlarına sahip genel bir Result türü tanımlayın.
type Ok<T> = { ok: true; value: T };
type Err<E = Error> = { ok: false; error: E };
type Result<T, E = Error> = Ok<T> | Err<E>;

Yardımcı Oluşturucular

Daha temiz bir kod için ok() ve err() yardımcılarını oluşturun.
const ok = <T>(value: T): Ok<T> => ({ ok: true, value });
const err = <E>(error: E): Err<E> => ({ ok: false, error });

Result Değerlerini Döndürme

İstisna fırlatmak yerine işlevlerden Result değerleri döndürün.
async function fetchUser(id: number): Promise<Result<User>> {
  try {
    const user = await db.findUser(id);
    if (!user) return err(new Error('Not found'));
    return ok(user);
  } catch (e) { return err(e as Error); }
}

Result Değerlerini Kullanma

Değeri kullanmadan önce ok bayrağını kontrol edin.
const result = await fetchUser(1);
if (result.ok) {
  console.log(result.value.name); // User
} else {
  console.error(result.error.message);
}

mapResult Yardımcısı

Değeri dönüştürmek için başarılı bir Result üzerinde map işlemi uygulayın.
function mapResult<T, U, E>(r: Result<T, E>, fn: (v: T) => U): Result<U, E> {
  return r.ok ? ok(fn(r.value)) : r;
}

flatMapResult Yardımcısı

Result döndüren işlevleri güvenli bir şekilde zincirleyin.
function flatMap<T, U, E>(r: Result<T, E>, fn: (v: T) => Result<U, E>): Result<U, E> {
  return r.ok ? fn(r.value) : r;
}

Result ve İstisnalar

İstisnalar örtük ve türsüzdür. Result değerleri ise tür imzasında açıkça belirtilir.

Kitaplık Desteği

neverthrow, true-myth ve fp-ts gibi kitaplıklar, üretime hazır Result türleri sağlar.

API İşleyicilerinde Result

Hataları temiz bir şekilde üst katmanlara aktarmak için Express işleyicilerinde Result kullanın.
app.get('/users/:id', async (req, res) => {
  const result = await fetchUser(parseInt(req.params.id));
  if (result.ok) res.json(result.value);
  else res.status(404).json({ error: result.error.message });
});

Asenkron Result Değerleri

Asenkron işlemleri Result deseniyle birleştirmek için Promise> kullanın.
type AsyncResult<T, E = Error> = Promise<Result<T, E>>;

Hızlı Kontrol

İstisna fırlatmaya kıyasla Result deseninin temel avantajı nedir?

Özet

Result Deseni: Ok ve Err: Bu konunun temel kavramlarını ve bunları gerçek TypeScript projelerinde nasıl uygulayacağınızı öğrendiniz.

Sıkça Sorulan Sorular

“Result Örüntüsü: Ok ve Err” dersi ücretsiz mi?

Evet — “Result Örüntüsü: Ok ve Err” 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.

“Result Örüntüsü: Ok ve Err” dersinde ne öğreneceğim?

Hataları fırlatmak yerine değer olarak döndürün 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 2. dersidir.

“Result Örüntüsü: Ok ve Err” 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