Sobes.tech
Junior

Асинхрондук функцияда убада (reject) катасын кантип иштетсе болот?

sobes.tech AI

AIден жооп

Мүмкін болса, try...catch пайдаланыңыз.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() уәде қайтаруы мүмкін, ол қабылданбауы мүмкін
    console.log('Деректер сәтті алынды:', result);
  } catch (error) {
    console.error('Деректерді алу кезінде қате:', error);
    // Мұнда қателікті өңдеу үшін қосымша әрекеттер жасауға болады
    // Мысалы, хабарлама көрсету немесе лог жазу
  }
}

// .catch() арқылы баламалы әдіс (аз қолданылатын)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Деректер сәтті алынды:', result);
    })
    .catch(error => {
      console.error('Деректерді алу кезінде қате:', error);
    });
}

try...catch қолдану async/await үшін ең жақсы және идиоматикалық. Бұл қателерді бір блокта орталықтандыруға мүмкіндік береді және синхрондырақ көрінеді.