JavaScript ile async/await nedir ne değildir kısmını zaten işlemiştik. Fetch methodunun asenkron olarak nasıl kullanıldığını örneklediğimiz yazıdan sonra sıra kendi awaitable/beklenebilir fonksyionumuzu nasıl oluşturacağımızı örneklendirmeye geldi.
Beklenebilir fonksiyonumuzu hazırlayalım
window.basari = true;
//bir fonksiyon oluşturalım
let beklenebilirfonksiyon = () => { 
return new Promise((resolve, reject) => {
// 4 saniye sonra çalışacak bir kod ayarlayalım
  setTimeout(() => { 
    if(window.basari){
      // başarılı durumu temsil eden fonksiyon çağıralım
      resolve("beklenebilirfonksiyon çalıştı"); 
     }
    else{
     // hatalı durumu temsil eden fonksiyon çağıralım
      reject("beklenebilirfonksiyon çalışmadı"); 
    }
 }, 4000);
});
};Kullanım metotları
Beklenebilir yada Promise dönen fonksiyonları kullanmak için 2 farklı metot vardır. Bunlar;
1) .then ve .catch metotu ile fonksiyonun başarı yada hata durumlarını bekleyen alt işlemleri kullanmak
Örnek:
beklenebilirfonksiyon().then((yanit) =>{
    console.log(yanit);  // beklenebilirfonksiyon çalıştı
}).catch((yanit)=>{
    console.log(yanit); //beklenebilirfonksiyon çalışmadı
});2) async olarak ayarlanmış bir scope/kapsam belirterek await anahtar kelimesini kullarak bekletmek
Örnek 1:
async function cagir() {
    var yanit = await beklenebilirfonksiyon();
    console.log(yanit); 
    //başarı durumunda (window.basari değişkeni true olduğunda) "beklenebilirfonksiyon çalıştı", hata durumunda "beklenebilirfonksiyon çalışmadı" yazacaktır
}
cagir();Örnek 2 (Otomatik çalıştırma):
(async ()=>{
 var yanit =  await beklenebilirfonksiyon()
 console.log(yanit)
    //başarı durumunda (window.basari değişkeni true olduğunda) "beklenebilirfonksiyon çalıştı", hata durumunda "beklenebilirfonksiyon çalışmadı" yazacaktır
})() 
									 
                 
                                 
                                