Javascript 5 | Functions 3 | Callback Functions
İlk bölümde function’ları ve function’ların içerisinde tanımlanan değer ve function’ları tanımaya çalışmıştık. Functions 1 makalesini okumanızı tavsiye ederim.
2. bölümde ise function’larda default value, function expression-declaration, anonymous function’lar hakkında kısa bir bilgi verdim.
Async işlemlerimizi yönetmemizi sağlar. Async işlemlerimizi senkron haline getirmemize yardımcı olur.
Bir function içerisine başka bir function vererek, belirli işlemler tamamlandıktan sonra parametre olarak verdiğimiz function’ın çağrılmasını sağladığımız bir durumdur.
Örneğin ; ard arda 2 function çağırmak istiyoruz. Ancak ilk function’ın tamamen işi bittikten sonra 2. function’ın çalışmasını istiyoruz diyelim . Bu durumda asenkron olan işlemimizi yönetmemiz gerekiyor. Yani bu işlemleri senkron’a çevirip istediğimiz sonuca ulaşabiliriz.
Event’ler en çok karşılaştığımız örneklerindedir. Normalde bir button eventlistener’ına function veririz. O button event’imiz tetiklendikten sonra bizim verdiğimiz methoda düşer. Çünkü o button eventimiz içerisindeki işlemlerini yaptıktan sonra bizim verdiğimiz methodu çağırır.
Böylece asenkron olarak işlemler yürütülür. Yoksa bir event yaratılmadığı için sayfa hep donardı . Hep event beklerdi. (EventListenerlar , foreach, setTimeout vb.)
Burada forEach Js’in bir functioni. Bu function içerisinde çeşitli işlemler yapıp daha sonra bizim verdiğimiz function’ı çağırıyor.
Ve bizim function’a da parametre olarak bir bir lang değerlerini yolluyor. Başka bir örnek ile pekiştirelim :
Örn :
Js default olarak async çalışır. Burada process1'den sonra process2 methodunu çağırıyoruz. Ancak Javascript bunu async olarak yaptığı için method1 ‘in bitmesini beklemeden method2 çağrılır.
Mesela bunu senkron yapmak istersek;
Burada method1 ‘e parametre olarak method2 yi yolladık. Ve onu çağırdık. Böylece senkron olarak çalışmasını sağladık.
Gerçek hayattan örnek verecek olursam; eventlistener’lar olabilir. Button clickeventler;
document.addEventListener(“click”, function(){
});
Burada muhtemelen document objesinin addEventListener methodu tüm içerisindeki işlemlerini bitirdikten sonra bizim verdiğimiz methodu çağırıyor. Böylece bir butona tıkladıktan sonra bizim methodumuza düşüyor.
Bir fonksiyonu bir yerden veri gelince çalıştırmak isteyebiliriz. O zaman da callback function’ları kullanabiliriz.
Makalelerimin tamamına erişmek isteyen arkadaşlar için hepsinin linkinin bulunduğu bir tutorial hazırladım. Aşağıdaki linkte paylaşıyorum.
https://medium.com/@omercelikceng/javascript-makalelerimin-tamam%C4%B1-45a71ac3b386