Sobes.tech
Junior

JavaScript-də async/await quruluşu haqqında danış.

sobes.tech Süni İntellekt

AI-dan cavab

async/await — promislər üzərində sintaktik şəkərdir və daha sadə yazılan, sinxron görünən asinxron kod üçün nəzərdə tutulmuşdur.

async söz ilə işarələnmiş funksiya həmişə bir vəd (promise) qaytarır. async funksiyası daxilində await açar sözündən istifadə etmək mümkündür.

await operatoru vəd çağırışından əvvəl istifadə olunur. O, async funksiyasının icrasını vəd həll olunana (resolved) və ya rədd olunana (rejected) qədər dayandırır. Vədin nəticəsi (uğur və ya səhv) await tərəfindən qaytarılır.

Əgər await ilə işarələnmiş vəd rədd olunarsa, bu, istisna yaradır və try...catch bloku ilə tutulabilir.

// async/await istifadə nümunəsi
async function fetchData() {
  try {
    // Asinxron əməliyyatın tamamlanmasını gözləyirik (məsələn, API sorğusu)
    const response = await fetch('https://api.example.com/data');
    // Cavabı JSON-ə çeviririk
    const data = await response.json();
    // Alınan məlumatları göstəririk
    console.log(data);
  } catch (error) {
    // Hər hansı səhvi tuturuq
    console.error('Məlumatların alınmasında səhv:', error);
  }
}

// async funksiyanı çağırırıq
fetchData();

// Vəd qaytaran async funksiya nümunəsi
async function getValue() {
  return 10; // Bu avtomatik olaraq Promise.resolve(10) ilə əhatə olunur
}

getValue().then(value => console.log(value)); // 10 göstərəcək

async/await-in üstünlükləri:

  • Kodun oxunaqlılığı: Asinxron kod daha çox sinxron kimi görünür
  • Səhv idarəetməsi: Standart try...catch blokları ilə daha asan
  • Daha az iç-içəlik: "Callback cəhənnəmi" və ya uzun .then() zəncirləri qaçınılır

Əhəmiyyətlidir ki, await yalnız async funksiyalar daxilində istifadə oluna bilər.