Javascript 17 — Es7 — Async & Await
Es7 ile gelmiştir. Yeni bir konsept değildir. Promise’leri daha efektif bir şekilde kullanabilmek için vardır.
Bir methodun başına async keywordunu eklersek bu methodun Promise döner.
Burada test fonksiyonun basına async yazınca Promise döndüreceğini biliyoruz. Biz promise döndürmeyince javascript bizim yerimize data’yı alıyor resolved içerisine koyarak promise olarak döndürüyor.
Yani biz dönmezsek javascript bizim için methodu şu hale donüştürür.
Await keywordu ise bir promise’in resolved dönmesini bekler. Await sadece async functionlarda calısır.
Burada testAsync methodumuzu çağırıyoruz. Buradaki await keywordümüz promise’den olumlu sonuç gelinceye kadar o satırda bekletiyor. 6 saniye sonra resolve(data) dönünce eline response geliyor. O da response’u return ediyor ve bizde çağırdığımız yerden then ile yakalayabiliyoruz. Zaten return response diyince js bizim için onu promise olarak dönüyor.
Başka bir örnek:
Çikti : Test Method Çagirmadan Önce
Await Oncesi
Test Method Çagirdiktan Sonra
Await Sonrasi
Test Method
Async-Await With Fetch
Aslında promise’lerin en etkin kullanıldığı yer fetch ile kullanımıdır. Fetch fonksiyonu promise döner. Bizde bu promise’i await ile bekletebiliriz.
Promise yapısını daha etkin kullanarak async ve awaitlerden böylece faydalanyoruz.
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