avatar
·2 dk okuma
Node.js'de Geri Çağırma (Callback) Pattern

Node.js'de Geri Çağırma (Callback) Pattern

Node.js, JavaScript temelli bir sunucu tarafı platformu olup, web uygulamalarının geliştirilmesinde önemli bir role sahiptir. Bu makalede, Node.js'de sıkça kullanılan geri çağırma (callback) deseninin temellerini ve uygulamalarını inceleyeceğiz.

Geri Çağırma Deseninin Temelleri

Node.js'de geri çağırma deseni, asenkron programlamada yaygın olarak kullanılır. JavaScript'te fonksiyonlar, birinci sınıf nesnelerdir, yani bir fonksiyon başka bir fonksiyona argüman olarak geçirilebilir ya da bir fonksiyondan değer olarak dönebilir.

Bu kavramı anlamak için basit bir örnek üzerinden gidelim:

function hello(name) {
    console.log(`Hello, ${name}`);
}

function helloName(helloFn) {
    const name = 'Emin';
    helloFn(name);
}

helloName(hello);

Yukarıdaki örnekte, helloNamefonksiyonu, başka bir fonksiyonu (hello) argüman olarak alıp çağırır. Burada hello fonksiyonu bir geri çağırma fonksiyonu olup helloNameise bir yüksek mertebe fonksiyondur.

Senkron ve Asenkron Geri Çağırma

Geri çağırma fonksiyonları iki ana kategoriye ayrılır: senkron ve asenkron.

  1. Senkron Geri Çağırma: Bu tip geri çağırma, yüksek mertebe fonksiyon içinde hemen çalıştırılır. Örneğin, Array metodlarında kullanılan geri çağırma fonksiyonları (map, filter, sort gibi) senkron geri çağırma örnekleridir.

  2. Asenkron Geri Çağırma: Asenkron operasyonlar tamamlandıktan sonra kodun devam etmesi ya da resume edilmesi için kullanılır. Node.js'de dosya okuma, veritabanı sorguları ve ağ istekleri gibi işlemler genellikle asenkron gerçekleştirilir.

Asenkron Geri Çağırmanın Önemi

Node.js'in asenkron yapısı, uygulamanın engellenmesini önler. Örneğin, dosya okuma işlemi ya da ağ isteği gerçekleştirilirken, bu işlemler tamamlanana kadar Node.js uygulamasının diğer bölümleri engellenmez. Böylece, uygulamanın performansı ve yanıt süresi artar.

Özet

Node.js'de geri çağırma deseni, platformun temel özelliklerinden biridir ve asenkron programlamanın anlaşılmasında kritik bir rol oynar. Özetle:

  1. JavaScript'te fonksiyonlar birinci sınıf nesnelerdir ve diğer fonksiyonlara argüman olarak geçilebilirler.

  2. Geri çağırma fonksiyonları, başka bir fonksiyona argüman olarak geçirilen fonksiyonlardır.

  3. Geri çağırma fonksiyonları senkron ve asenkron olmak üzere ikiye ayrılır.

  4. Asenkron geri çağırma, Node.js'in asenkron doğasında önemli bir rol oynar ve uygulamanın engellenmesini önler.

Geri çağırma deseni, Node.js programlamada performans ve verimliliği artıran önemli bir konsepttir. Bu desenin etkin kullanımı, uygulamaların daha hızlı ve etkili olmasını sağlar.