Sobes.tech
Junior — Middle

Hogyan lehet nyomon követni és kezelni egy hibát, amely akkor fordul elő, amikor egy ígéretet a rejected állapotban használunk?

sobes.tech MI

Válasz az MI-től

A hibák nyomon követéséhez és kezeléséhez, amikor egy ígéret elutasított állapotban van, használhatja a .catch() módszert vagy a .then() második argumentumát.

A .catch() példával:

fetch('https://api.example.com/data')
  .then(response => {
    if (!response.ok) {
      return Promise.reject('Hálózati hiba');
    }
    return response.json();
  })
  .then(data => {
    console.log('Adatok:', data);
  })
  .catch(error => {
    console.error('Hiba történt:', error);
  });

Szintén használható try...catch az async függvényen belül await-tel:

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    if (!response.ok) {
      throw new Error('Hálózati hiba');
    }
    const data = await response.json();
    console.log('Adatok:', data);
  } catch (error) {
    console.error('Hiba történt:', error);
  }
}
getData();

Ez a hibakezelés lehetővé teszi a hibák helyes reagálását és az alkalmazás összeomlásának megelőzését.