Modern JavaScript ES6’dan ES13’e kadar (JS Eğitimi)

JavaScript'te Async ve Await'in Etkili Kullanımı

Eğitimdeki tüm videolar Modern JavaScript ES6–ES13 (JS öğretici)

Programlama dünyasında, etkili bir şekilde asenkron işlemleri yönetmek, ilgili bir kullanıcı deneyimi sağlamak için önemlidir. Özellikle JavaScript içerisinde bunu yapmanın birçok yolu vardır. Asenkron işlemlerle çalışmanın en popüler yöntemlerinden biri, async/await yapısıdır. Bu yapı, asenkron programlamayı daha net ve okunabilir hale getirmenizi sağlayan bir sözdizimsel kolaylık sunar. Bu kılavuzda, async ve await’in temellerini öğrenelim ve bunların kodlamanızı nasıl geliştirebileceğini inceleyelim.

En önemli bulgular

  • async/await, asenkron işlemleri yönetmek için açık ve daha basit bir sözdizimi sağlar.
  • await anahtar kelimesini kullanan her fonksiyon, async olarak tanımlanmalıdır.
  • await, kod yürütülmeden önce bir Promise'in yerine getirilmesini etkili bir şekilde bekler.
  • Hata yönetimi try/catch blokları ile zarif bir şekilde uygulanabilir.

Aşama Aşama Kılavuz

Öncelikle, async/await'in üzerine inşa edildiği Promise'lerin temellerini anladığınızdan emin olmalısınız. Eğer Promise'lerle tanıdık iseniz, şimdi async/await'in kullanımını tartışabiliriz.

Aşama 1: Bir Delay Fonksiyonu Oluşturma

Bir gecikmeyi simüle eden bir Promise döndüren basit bir fonksiyonla başlayın. İşte delay adında bir fonksiyon için bir örnek.

Bu temel bir uygulamadır. Bu fonksiyon ile milisaniye cinsinden bir gecikme belirtebilirsiniz.

JavaScript'te Async ve Await'in Etkili Kullanımı

Aşama 2: Async ve Await’in Tanıtımı

Artık async/await'in avantajlarından yararlanmak istiyorsunuz. Async anahtar kelimesini kullanan bir fonksiyon oluşturarak başlayın.

Bu kod parçacığında, runDelay fonksiyonu async anahtar kelimesini kullanıyor, bu da onu await kullanma yeteneği kazandırıyor. Bu, delay fonksiyonundan dönen Promise yerine getirilene kadar fonksiyonun yürütülmesinin durdurulacağı anlamına gelir.

Aşama 3: Asenkron Fonksiyonun Test Edilmesi

Çalışma mantığını test etmek için runDelay fonksiyonunu çağırın.

Script'i çalıştırdığınızda, konsolun "Gecikme başlıyor..." yazdığını, ardından 2 saniye durakladığını ve sonunda "Gecikme sona erdi." mesajını gösterdiğini göreceksiniz.

Aşama 4: Try/Catch ile Hata Yönetimi

Programlamada sıkça yaşanan bir durumdur - hatalar her zaman ortaya çıkabilir. Async/await ile hataları try/catch kullanarak daha kolay yönetebilirsiniz.

Hataları yakalamak isterseniz, runDelay fonksiyonunu aşağıdaki gibi değiştirebilirsiniz:

Try/catch kullanarak, await delay(2000) ifadesinin yürütülmesi sırasında meydana gelebilecek herhangi bir hata yakalanabilir ve görüntülenebilir.

JavaScript'te Async ve Await'in Etkili Kullanımı

Aşama 5: Async/await ile Fetch Kullanımı

Diğer bir yaygın kullanım durumu, fetch API'si ile veri çekmektir.

Bu örnekte, fetch ile bir ağ isteği yapılır. Yeniden, await ile yanıtı bekleyerek devam etmeden önce emin olabiliriz.

Özet - Async ve Await: Aşama Aşama Kılavuz

Bu kılavuzda, JavaScript'te async/await yapısını kullanarak asenkron işlemleri daha net bir şekilde yönetmeyi öğrendiniz. Gecikme fonksiyonu oluşturmayı, hataları nasıl yöneteceğinizi ve verileri fetch API'si ile verimli bir şekilde nasıl çekebileceğinizi gördünüz.

Bu sözdizimini gelecekteki projelerinizde kullanarak kodunuza okunabilirlik ve bakım kolaylığı kazandırın!

Sıkça Sorulan Sorular

Async ve await arasındaki fark nedir?Async, bir fonksiyonu asenkron olarak işaretler, bu da onun Promise döndüreceği anlamına gelir. Await, bir Promise'in sonucunu beklemek için kullanılır.

Ne zaman async/await kullanmalıyım?Asenkron işlemlerle çalışıyorsanız ve kodunuzun net ve okunabilir kalmasını istiyorsanız kullanın.

Async/await'i her tarayıcıda kullanabilir miyim?Evet, ancak kullanılan tarayıcının modern JavaScript sözdizimini desteklediğinden emin olun. Gerekirse Babel gibi transpilerlar kullanılabilir.

Await'i normal bir fonksiyonda kullanabilir miyim?Hayır, await kullanmak için, kullanıldığı fonksiyonun async olarak tanımlanması gerekir.

Bir Promise başarısız olursa ne olur?Bir Promise başarısız olursa, try/catch ile ele alabileceğiniz bir hata mesajı tetiklenir.