Sobes.tech
Junior

Asinxron funktsiyada va'dani rad qilish (reject) qanday amalga oshiriladi?

sobes.tech AI

AIdan javob

try...catch dan foydalanish mumkin.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() promissani qaytarishi mumkin, u rad etilishi mumkin
    console.log('Maʼlumotlar muvaffaqiyatli olindi:', result);
  } catch (error) {
    console.error('Maʼlumotlarni olishda xato:', error);
    // Bu yerda xatoni qayta ishlash uchun qo'shimcha harakatlar qilish mumkin
    // Masalan, foydalanuvchiga xabar ko'rsatish yoki log yozish
  }
}

// .catch() bilan alternativ usul (async/awaitda kamroq tarqalgan)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Maʼlumotlar muvaffaqiyatli olindi:', result);
    })
    .catch(error => {
      console.error('Maʼlumotlarni olishda xato:', error);
    });
}

try...catch dan foydalanish async/await uchun eng ma'qul va idiomatiktir. Bu xatolarni bitta blokda markazlashtirish imkonini beradi va ko'proq sinxron ko'rinishga ega bo'ladi.