Sobes.tech
Junior — Middle

Kaip galima sekti ir tvarkyti klaidą, kuri įvyksta naudojant pažadą, kai jis yra atmestas?

sobes.tech AI

Atsakymas iš AI

Norėdami stebėti ir tvarkyti klaidą naudojant pažadą atmestame būsenoje, galite naudoti .catch() metodą arba .then() metodo antrąjį argumentą.

Pavyzdys su .catch():

fetch('https://api.example.com/data')
  .then(response => {
    if (!response.ok) {
      return Promise.reject('Tinklo klaida');
    }
    return response.json();
  })
  .then(data => {
    console.log('Duomenys:', data);
  })
  .catch(error => {
    console.error('Įvyko klaida:', error);
  });

Taip pat galite naudoti try...catch asinchroninėje funkcijoje su await:

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    if (!response.ok) {
      throw new Error('Tinklo klaida');
    }
    const data = await response.json();
    console.log('Duomenys:', data);
  } catch (error) {
    console.error('Įvyko klaida:', error);
  }
}
getData();

Šie metodai leidžia tinkamai reaguoti į klaidas atmestame būsenoje ir išvengti programos žlugimo.