Skip to content

Instantly share code, notes, and snippets.

@alpgul
Created March 14, 2025 18:23
Show Gist options
  • Save alpgul/b5f07d44fb39d8d6c8b1e5ec5f3856f2 to your computer and use it in GitHub Desktop.
Save alpgul/b5f07d44fb39d8d6c8b1e5ec5f3856f2 to your computer and use it in GitHub Desktop.
Promise.try proposal'ı, bir fonksiyonu hemen bir Promise olarak çalıştırmak için kullanışlı bir yöntem sunar. Bu, özellikle senkron ve asenkron kodlar arasında tutarlılık sağlamak ve hata yönetimini kolaylaştırmak için faydalıdır.

Promise.try Proposal'ı: Senkron ve Asenkron Hata Yönetimi


Makale Detaylı Anlatımı ve Örnek Kullanımı

Promise.try Nedir?

Promise.try, bir fonksiyonu hemen bir Promise olarak çalıştırmak için kullanılan bir yöntemdir. Bu, özellikle senkron ve asenkron kodlar arasında tutarlı hata yönetimi sağlamak için kullanışlıdır. Geleneksel olarak, bir fonksiyonun senkron veya asenkron olup olmadığını bilmiyorsanız, hata yönetimi karmaşık hale gelebilir. Promise.try, bu sorunu ortadan kaldırır.

Örnek Kullanım

Geleneksel Yöntem

function fetchData() {
  if (Math.random() > 0.5) {
    throw new Error("Senkron hata!");
  }
  return fetch("https://api.example.com/data");
}

try {
  fetchData().then(console.log).catch(console.error);
} catch (error) {
  console.error("Yakalanan hata:", error);
}

Bu örnekte, fetchData fonksiyonu senkron bir hata fırlatabilir veya bir Promise döndürebilir. Hata yönetimi için hem try-catch hem de .catch() kullanmak zorunda kalırız.

Promise.try ile

Promise.try(() => {
  if (Math.random() > 0.5) {
    throw new Error("Senkron hata!");
  }
  return fetch("https://api.example.com/data");
}).then(console.log).catch(console.error);

Promise.try kullanarak, senkron ve asenkron hataları tek bir .catch() ile yönetebiliriz. Bu, kodun daha temiz ve tutarlı olmasını sağlar.

Avantajlar

  1. Tutarlı Hata Yönetimi: Senkron ve asenkron hatalar için aynı hata yönetimi mekanizması.
  2. Kod Temizliği: try-catch ve .catch() karmaşasından kurtulma.
  3. Fonksiyonel Programlama: Fonksiyonel programlama stilinde daha temiz kod yazma imkanı.

Referanslar ve Linkler

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment