JavaScript

Javascript’te async ve await Nasıl Kullanılır?

Asenkron ve Senkron Fonksiyon Nedir?

Asenkron ve Senkron fonksiyonlar, bir program veya sistem içinde yapılan işlemlerin zamanlamasına ilişkin kavramlardır.

Asenkron fonksiyonlar, bir işlem başlatıldıktan sonra diğer işlemlerin yapılmasına izin verir. Bu, işlemin tamamlanmasını beklemeden diğer işlemlerin yapılması anlamına gelir. Bu tür fonksiyonlar, programın performansını artırmak ve işlemlerin daha hızlı tamamlanmasını sağlamak için kullanılır.

Senkron fonksiyonlar ise bir işlem tamamlandıktan sonra diğer işlemlerin yapılmasına izin verir. Bu tür fonksiyonlar, bir işlemin tamamlanması gerektiğinde diğer işlemlerin bekletilmesine neden olur. Bu tür fonksiyonlar, önemli işlemlerin tamamlanmasını garanti etmek için kullanılır.

Örneğin, bir web uygulamasında bir form doldurulurken veritabanına kaydedilen bir işlem asenkron olarak yapılabilir, ancak bir ödeme işleminin tamamlanması gerektiğinde senkron fonksiyonlar kullanılabilir.

“Asenkron” ve “senkron” kelimeleri, bir süreç içerisinde birbiriyle ilişkili işlemlerin ne zaman gerçekleştirileceğini belirtir.

  • Asenkron işlemler, birbirlerinden bağımsız olarak gerçekleştirilir ve birbirlerinin tamamlanmasına gerek duymaz. Asenkron işlemler, genellikle bir iş parçacığı veya thread yardımıyla yapılır ve birbirlerinden bağımsız olarak çalışır. Bu, işlemler arasında zaman geçirilmesine ve işlemlerin birbirlerini beklemesine gerek kalmamasını sağlar.
  • Senkron işlemler ise birbirlerine bağlıdır ve birbirlerinin tamamlanmasını beklerler. Bu işlemler genellikle birbirlerine sırayla erişir ve birbirlerinin tamamlanmasını beklerler. Bu, işlemler arasında zaman geçirilmesine ve işlemlerin birbirlerini beklemesine neden olur.

Bir fonksiyonun asenkron veya senkron olduğu, fonksiyonun nasıl tasarlandığına ve işletim sisteminin nasıl çalıştığına göre değişebilir. Bir fonksiyon asenkron olarak tasarlandığında, işletim sistemi bu fonksiyonu bir iş parçacığı veya thread yardımıyla çalıştırır ve fonksiyon tamamlandığında, işletim sistemi işlemi tamamlamış olarak işaretler ve diğer işlemlere devam eder. Senkron fonksiyonlar ise, işletim sistemi tarafından sırayla çalıştırılır ve bir sonraki işlem sadece önceki işlemin tamamlanmasını bekleyerek gerçekleştirilir.

Javascript’te async ve await Nasıl Kullanılır?

Javascript’te async ve await anahtar kelimeleri, asenkron işlemleri yönetmek için kullanılır. async anahtar kelimesi, bir fonksiyonun asenkron olacağını belirtir ve fonksiyon tamamlandığında bir promise döndürür. await anahtar kelimesi ise, bir promise’nin tamamlanmasını bekler ve promise’nin değerini döndürür.

Örneğin, bir asenkron işlemi yönetmek için aşağıdaki gibi bir fonksiyon yazabilirsiniz:

Bu fonksiyon, fetch işlemini çalıştırır ve sonuç olarak bir promise döndürür. await anahtar kelimesi kullanılarak, promise’nin tamamlanması beklenir ve promise’nin değeri response değişkenine atanır. Daha sonra, response.json() işlemini çalıştırır ve bu da bir promise döndürür. await kullanılarak bu promise de beklenir ve değer data değişkenine atanır. Son olarak, data değişkeni döndürülür.

Bu fonksiyonu çağırmak için aşağıdaki gibi bir kod yazabilirsiniz:

Bu kod, getData fonksiyonunun çalışmasını bekler ve fonksiyonun döndürdüğü değeri result değişkenine atar.


Bir asenkron işlemi yönetmek için aşağıdaki gibi bir fonksiyon yazabilirsiniz:

Bu fonksiyon, bir kullanıcının kullanıcı ID’sine göre veritabanından çekileceğini varsayar. fetch işlemini çalıştırır ve sonuç olarak bir promise döndürür. await anahtar kelimesi kullanılarak, promise’nin tamamlanması beklenir ve promise’nin değeri response değişkenine atanır. Daha sonra, response.json() işlemini çalıştırır ve bu da bir promise döndürür. await kullanılarak bu promise de beklenir ve değer user değişkenine atanır. Son olarak, user değişkeni döndürülür.

Bu fonksiyonu çağırmak için aşağıdaki gibi bir kod yazabilirsiniz:

Bu kod, getUserById fonksiyonunun çalışmasını bekler ve fonksiyonun döndürdüğü değeri user değişkenine atar. Daha sonra, console.log komutu ile user değişkeninin değeri ekrana yazdırılır.


Bir örnek daha verecek olursam:

Bu kod, getUserById fonksiyonunu çağırarak bir kullanıcı nesnesi döndürür ve daha sonra bu nesnenin name özelliğini döndürür. getUserName fonksiyonu çağırıldığında, fonksiyonun çalışmasını bekler ve fonksiyonun döndürdüğü değeri name değişkenine atar. Daha sonra, console.log komutu ile name değişkeninin değeri ekrana yazdırılır.

Yorum Yap

Yorum yapmak için tıklayın