Takip et

Promise.js: Acemi Dostu Bir Rehber

Promise.js: Acemi Dostu Bir Rehber

Merhaba! Ben Fatih Soysal ve bugün size JavaScript’in güçlü bir özelliği olan Promise.js’i basit bir şekilde anlatacağım. Asenkron işlemleri yönetmek için olmazsa olmaz bir araçtır. Öncelikle, asenkron işlemlerin ne olduğunu anlayalım.

Asenkron İşlemler Nedir?

Asenkron işlemler, hemen sonuçlanmayan işlemlerdir. Örneğin, bir web sayfasından veri çekmek, bir dosyayı okumak veya bir ağ isteği göndermek asenkron işlemlerdir. Bu işlemler tamamlanana kadar programın diğer bölümlerinin çalışmasını engellememesi önemlidir. İşte bu noktada Promise.js devreye girer.

Promise.js’e Giriş

Promise, bir işlemin başarılı olup olmadığını ve sonucunu temsil eden bir nesnedir. Başka bir deyişle, bir Promise üç durumdan birinde olabilir:

  • Pending (Beklemede): İşlem henüz tamamlanmadı.
  • Fulfilled (Tamamlandı): İşlem başarılı bir şekilde tamamlandı ve bir sonuç döndürdü.
  • Rejected (Reddedildi): İşlem başarısız oldu ve bir hata oluştu.

Bir Promise oluşturmak için new Promise() yapısını kullanırız. Bu yapı, bir fonksiyon alır. Bu fonksiyonun iki parametresi vardır: resolve ve reject.


const myPromise = new Promise((resolve, reject) => {
  // Asenkron işlem burada gerçekleşir.
  setTimeout(() => {
    const success = true; // İşlem başarılı mı?
    if (success) {
      resolve("İşlem başarılı!"); // resolve ile başarılı sonuç döndürülür.
    } else {
      reject("İşlem başarısız!"); // reject ile hata döndürülür.
    }
  }, 2000); // 2 saniye bekle
});

.then(), .catch() ve .finally() Metotları

Promise’in sonucunu işlemek için .then() metodunu kullanırız. .then() metodu, resolve fonksiyonu çağrıldığında çalışır. Eğer bir hata oluşursa .catch() metodu devreye girer. .finally() metodu ise, işlem başarılı veya başarısız olsun her durumda çalışır.


myPromise
  .then(result => {
    console.log(result); // "İşlem başarılı!" yazdırır.
  })
  .catch(error => {
    console.error(error); // Hata mesajını yazdırır.
  })
  .finally(() => {
    console.log("İşlem tamamlandı!"); // Her durumda çalışır.
  });

Async/Await

Promise’leri daha temiz ve okunabilir bir şekilde yönetmek için async/await sözdizimi kullanılabilir. async anahtar kelimesi, bir fonksiyonu asenkron hale getirirken, await anahtar kelimesi bir Promise’in çözümlenmesini bekler.


async function myAsyncFunction() {
  try {
    const result = await myPromise;
    console.log(result);
  } catch (error) {
    console.error(error);
  } finally {
    console.log("İşlem tamamlandı!");
  }
}

myAsyncFunction();

Umarım bu makale size Promise.js’i anlamanızda yardımcı olmuştur. Daha fazla bilgi için fatihsoysal.com sitesini ziyaret edebilirsiniz. Ayrıca, konuyla ilgili daha detaylı bilgi için MDN Web Docs sayfasını inceleyebilirsiniz.

Bu makalede, Promise.js’in temel kavramlarını açıkladım. Ancak, Promise.js’in çok daha gelişmiş kullanım alanları vardır. Bu konuda daha fazla araştırma yaparak, kendinizi bu alanda geliştirebilirsiniz. Başarılar!

#Etiketler: #Promise.js, #JavaScript, #AsenkronProgramlama, #Promise, #then, #catch, #finally, #async, #await, #öğretici, #rehber


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık