Promise.try artık temel özelliktir. Yeni kullanıma sunuldu

Jeremy Wagner
Jeremy Wagner

Yayınlanma tarihi: 17 Ocak 2025

Web'de eşzamansız çalışma yapmak zor olabilir. Web'de yapılan işlemlerin çoğu eşzamansızdır. Bu işlem fetch çağrıları veya diğer eşzamansız işlemleri içersin, yerleşik yöntemler güçlü hata işleme sağladığında tarayıcılar bu işlemi yapma şeklinizi kolaylaştırır. Bu, then, catch ve finally yöntemlerini kullanan Promise'ler için zaten sağlanmıştır.

Yine de uygulamanızın kod tabanını tasarlama şekliniz esnek olmalıdır ve uygulamanızda yapacağınız her şey mutlaka eşzamansız değildir. Bazen, Promise işlevine ilettiğiniz geri çağırma işlevinin senkronize olup olmadığı önemli değilse geri çağırma sonucunu daha basit bir şekilde işlemek isteyebilirsiniz. Promise.try, artık tüm büyük tarayıcı motorlarında kullanılabilen ve geliştiriciler için bu işlemi basitleştiren bir yöntemdir. Bu, Promise.try'ün artık Temel Yeni olarak kullanılabileceği anlamına gelir.

Promise.try nedir ve nasıl çalışır?

Promise.try, senkron geri çağırma işlevleri için hata yönetimini Promise.resolve'ü kullandığınızdan daha kolay hale getiren bir kolaylık yöntemidir:

// If the callback is synchronous and it throws
// an exception, the error won't be caught here:
new Promise(resolve => resolve(callback());

// But it will be here:
Promise.try(callback);

Ardından then, catch ve finally yöntemlerini kullanarak Promise'ın çözümünü veya reddedilmesini yönetin:

Promise.try(callback)
  .then(result => console.log(result))
  .catch(error => console.log(error))
  .finally(() => console.log("All settled."));

Geri çağırma işlevinizde bağımsız değişkenler varsa ne olur? Bunu iki şekilde yapabilirsiniz:

// This creates an extra closure, but works:
Promise.try(() => callback(param1, param2));

// This doesn't create an extra closure, and still works:
Promise.try(callback, param1, param2);

Promise.try kullanmanın birincil avantajı, kendisine ilettiğiniz geri çağırma işlevinin eşzamanlı veya eşzamansız olup olmadığına bakılmaksızın Promise'leri tekdüze kullanmanıza olanak tanımasıdır. Bu, kodunuzda yaygın olarak kullanılan bir Promise işlevine geri çağırma işlevleri aktaran bir yardımcı program işlevi söz konusu olduğunda, Promise.try'ü kullanmak, kendisine aktardığınız tüm geri çağırma işlevleri için uygun hata işleme özelliğini sağladığı anlamına gelir. Daha fazla bilgi ve diğer olası endişeler veya kullanım alanları için Promise.try ile ilgili MDN belgelerine bakın.

Sonuç

Promise.try, yeni kullanıma sunulan temel düzeye ulaştığında tüm büyük tarayıcı motorlarında kullanabilirsiniz. Zaman geçtikçe, web platformunun kararlı ve birlikte çalışabilir bir parçası olacağına dair güveniniz artarak Promise.try'ü web uygulamalarınızda kullanabileceksiniz.