Sobes.tech
Junior

Kā apstrādāt solījuma (reject) kļūdu asinhronajā funkcijā?

sobes.tech AI

Atbilde no AI

Jūs varat izmantot try...catch.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() var atgriezt solījumu, kas tiks noraidīts
    console.log('Dati veiksmīgi saņemti:', result);
  } catch (error) {
    console.error('Kļūda, saņemot datus:', error);
    // Šeit var veikt papildu darbības kļūdas apstrādei
    // Piemēram, parādīt ziņu lietotājam vai reģistrēt žurnālu
  }
}

// Alternatīva ar .catch() (mazāk izplatīta async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Dati veiksmīgi saņemti:', result);
    })
    .catch(error => {
      console.error('Kļūda, saņemot datus:', error);
    });
}

try...catch izmantošana ir vairāk vēlams un idiomatiski async/await. Tas ļauj centrālo kļūdu apstrādi vienā blokā un izskatās vairāk sinhroni.