JavaScriptda async/await tuzilmasi haqida gapir.
sobes.tech AI
AIdan javob
async/await — bu promise ustunidagi sintaksis shakar, asinxron kodni yozishni soddalashtirish uchun mo'ljallangan, u sinxron ko'rinishda bo'ladi.
async so'zi bilan belgilangan funktsiya har doim promise qaytaradi. async funktsiya ichida await so'zidan foydalanish mumkin.
await operatori promise chaqiruvidan oldin ishlatiladi. U async funktsiyasining bajarilishini promise hal qilinmaguncha (resolved) yoki rad etilguncha (rejected) to'xtatadi. Promise bajarilishining natijasi (muvaffaqiyat yoki xato) await operatori tomonidan qaytariladi.
Agar await bilan belgilangan promise rad etilsa, bu xatolikni keltirib chiqaradi va try...catch bloki yordamida ushlanishi mumkin.
// async/await dan foydalanish misoli
async function fetchData() {
try {
// Asinxron operatsiya bajarilishini kutamiz (masalan, API so'rovi)
const response = await fetch('https://api.example.com/data');
// Javobni JSON ga aylantiramiz
const data = await response.json();
// Olingan ma'lumotlarni chiqaramiz
console.log(data);
} catch (error) {
// Xatolikni ushlaymiz
console.error('Ma’lumotlarni olishda xato:', error);
}
}
// async funktsiyani chaqiramiz
fetchData();
// Promise qaytaradigan async funktsiya misoli
async function getValue() {
return 10; // Bu avtomatik ravishda Promise.resolve(10) ga o'raladi
}
getValue().then(value => console.log(value)); // 10 ni chiqaradi
async/await ning afzalliklari:
- Kod o'qilishi: Asinxron kod sinxron kodga o'xshash bo'ladi
- Xatoliklarni boshqarish: Standart
try...catchbloklari bilan foydalanish osonroq - Ichma-ich bo'lishning kamayishi: "Callbacklar azobi" yoki uzun
.then()zanjirlardan qochish
E'tibor berish kerakki, await faqat async funktsiyalar ichida ishlatilishi mumkin.