Kubilay Kahil
YazarKubilay Kahil
2 dakika okuma süresi
Ara 22, 2019

Javascript: Asenkron Yapılarda Callback Function Kullanımı


Bir fonksiyonun çalışması tamamlandıktan sonra, başka bir fonksiyonun çalışmasını sağlayan fonksiyonlar callback function olarak adlandırılır. Callback fonksiyonları incelemeden önce, senkronik ve asenkronik yapıya bir göz atalım.

Javascript’de senkronik yapı gereği kodlar sıralı bir şekilde işleve konur. Fonksiyonlar sırayla birbiri ardına işlemlerini gerçekleştirir.

function isim(){

  console.log( 'Mustafa' + ' ' + 'Dere' );

}

function numara(){

  console.log( 171320 );

}

Yukarıdaki fonksiyonlar çağırıldıkları sıraya göre işlem yaparlar. İlk olarak isim() ardından numara() fonksiyonunu çağırırsam, konsol üzerinde ‘Mustafa Dere’ ismi belirecektir, ardından ‘171320’ konsola yazılacaktır.

Asenkronik yapı içerisinde fonksiyonlar çağırılmak için herhangi bir fonksiyonun bitmesini veya başka bir işlevin tamamlanmasını beklemez. Asenkronik yapı, thread yapısının çoklu çalışmasına(multitasking) benzetilebilir. Thread kullanılarak aynı anda birden fazla işlem programa dahil edebilirler.

TEST

HTML içerisindeki onclick metodu, çalışmak için başka bir yapının bitmesini beklemez.

Callback Function

Asenkronik yapı içerisinde callback function kilit noktadır. Callback function başka bir fonksiyonun çalışmasını tamamladıktan sonra , bir başka fonksiyonun işlevini başlatır.

Kalem kağıdı bırakıp kodlar üzerinde parmaklarımızı ısıtalım:

function bilgi( adSoyad, callback ){

  console.log( adSoyad );

  callback();

}

bilgi adında iki parametreli bir fonksiyon oluşturalım. Fonksiyon içerisine girince, ilk olarak birinci parametreyi konsola yazdıracak ardından ikinci parametre olarak göndereceğimiz callback(); fonksiyonu ile işlevi devam ettireceğiz.

function numara(){

 console.log( 171320 ); 

}

numara fonksiyonu adında bir fonksiyon daha oluşturalım. Bu fonksiyonu parametre olarak bilgi fonksiyonunun içerisine dahil ederek nasıl bir çıktı verdiğini görelim.

bilgi( 'Mustafa DERE', numara );

İşlemimizde numara() fonksiyonu, bilgi() fonksiyonu içerisinde parametre olarak gönderdik. Javascript fonksiyonları nesne tipinde tanımlar. Bir fonksiyonu parametre olarak verebilir veya bir değişken içerisinde tanımlayabiliriz.

var islev = numara();

Değeri bir değişkene tanımlayıp, bu değeri başka bir yerde kullanmak için geri dönüş değeri oluşturulması gerekiyor. numara fonksiyonuna return anahtar kelimesi ile bu değer tanımlama işlemi gerçekleştirilebilir.

Bunlar İlginizi Çekebilir