Onur Dayıbaşı

CV
none

Asynchronous Function Nedir ?

Synchronous fonksiyon türü tarayıcı ile sunucunun haberleşmesi sırasında yeterli olmayacaktır. Tarayıcı’dan sunucuya bir çok AJAX(haberleşme) isteği gidiyor ve bunların sonuçlarını senkron olarak beklersek kullanıcı tarayıcıda sürekli beklemek zorunda kalır. Biz bunun yerine async işlemler yapıyoruz işlem sırasında bir callback fonksiyon oluşturuyoruz. Bu callback fonksiyon AJAX request sonucunu bekliyor. Daha sonrasında ordan gelen response göre işleyen bir kod bloğu mevcut. Tabiki kod çok karmaşıklaşıyor ama son kullanıcıya çok güzel bir şekilde diğer işleri ile de uğraşmasına imkan olanak sağlıyor. Günümüzde bu sadece Tarayıcı sunucu arasındaki bir ilişki değil heryerde API’ler ve Servisler mevcut Örneğin bir AWS S3, DynamoDB servisi çağırırkende her işlem genelde async olarak gerçekleşiyor. Bundan dolayı bu tip işleyişe sahip fonksiyonlara Asynchronous Functions deniyor

1function wait1SecAndSayHello(callback){
2 setTimeout(()=>{
3 console.log("Hello")
4 return callback({name:'onur'});
5 },1000);
6}
7function main(){
8 const result=wait1SecAndSayHello((result)=>{
9 console.log(result);
10 }
11)main();

Yukarıdaki örnekteki bunun callback ile nasıl yapıldığını görebilirsiniz. Bu async fonksiyonların arka arkaya birbirine bağımlı olarak çağrıldığı durumlarda Callback Hell oluşur buda kodun okunmasını oldukça zorlaştırır bu durumu iyileştirmek için Promise, await, async kullanılmaktadır.

Referanslar