# `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 ```javascript 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 ```javascript 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 - [TC39 Proposal: Promise.try](https://github.com/tc39/proposal-promise-try) - [MDN Web Docs: Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) - [JavaScript.info: Promises](https://javascript.info/promise-basics)