Javascript’te async vs sync

Selim KURT
2 min readFeb 5, 2024

--

Javascript’in temellerinden biri olan async ve sync kavramlarını anlamak , daha verimli bir şekilde yazmak ve hata yapma olasılığımızı en aza indirmek için kavramlarını iyi öğrenmemiz gerekmektedir. Bu yazımızda bu iki kavramı inceleyeceğiz..

Async ve Sync Nedir?

“async ve “sync” kavramları, Javascript’te iş parçacığı ( thread ) olarak karşımıza çıkmaktadır.

  • Sync (Synchronous — Senkron): Senkron programlama, kodun sırayla ve tek bir iş parçacığında çalıştığı bir programlama yaklaşımıdır. İşlemler sırayla gerçekleşir ve bir işlem tamamlanmadan diğeri başlamaz.
  • Async (Asynchronous — Asenkron): Asenkron programlama, kodun eşzamanlı olarak çalıştığı bir yaklaşımdır. İşlemler eşzamanlı olarak başlatılabilir ve tamamlanması için beklemeye gerek yoktur.

Farklar Nelerdir?

  1. Çalışma Mantığı: Sync programlama, işlemleri sırayla ve tek bir iş parçacığında çalıştırırken, Async programlama işlemleri eşzamanlı olarak ve aynı anda başlatır.
  2. Blokaj Sorunu: Sync kodları bir işlem tamamlanmadan diğeri başlamaz, bu nedenle uzun süren işlemler ana iş parçacığını bloke edebilir. Async kodları ise bloklamaz ve ana iş parçacığının işlerine devam etmesine izin verir.
  3. Callbackler ve Promiseler: Async programlama, genellikle callback fonksiyonları veya Promiseler aracılığıyla yönetilir. Bu, işlemlerin sonuçlarını beklerken diğer işlemlerin devam etmesini sağlar.

Avantajları ve Dezavantajları

Async Avantajları:

  • Performans: Uzun süren işlemler ana iş parçacığını bloke etmez, böylece uygulama daha hızlı ve sorunsuz çalışır.
  • Daha İyi Tepki Süresi: Kullanıcılar işlem sonuçlarını beklerken uygulamanın tepki vermesi daha hızlıdır.
  • Paralel İşlemler: Birden fazla işlemi aynı anda yönetmek daha kolaydır.

Async Dezavantajları:

  • Karmaşıklık: Callback cehennemi veya callback cehennemi içindeki pirinç tarlası gibi görünen kod yapısı, karmaşıklığa neden olabilir.
  • Hata Yakalama: Hataları yönetmek ve izlemek daha zor olabilir.
  • Debugging: Asenkron kodları hata ayıklamak daha zor olabilir.

JavaScript’te async ve sync kavramları, kodunuzun nasıl çalıştığını anlamak ve gereksinimlerinize uygun en iyi programlama modelini seçmek için önemlidir. İşte size bu iki yaklaşımın farkları, avantajları ve dezavantajları hakkında bir genel bakış. Daha fazla öğrenmek ve bu kavramları daha iyi anlamak için denemeler yapabilirsiniz.

--

--

Selim KURT
Selim KURT

Written by Selim KURT

Software Developer - Mobile & Web Developer #react #reactnative #nextjs #frontend #digitaltransformation #javascript

No responses yet