Sobes.tech
Junior

Kuidas töödelda lubaduse (reject) viga asünkroonses funktsioonis?

sobes.tech AI

Vastus AI-lt

Saate kasutada try...catch.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() võib tagastada promise, mis võib lükata tagasi
    console.log('Andmed edukalt saadud:', result);
  } catch (error) {
    console.error('Andmete saamisel viga:', error);
    // Siin saate teha täiendavaid toiminguid vea töötlemiseks
    // Näiteks näidata kasutajale sõnum või logida
  }
}

// Alternatiivne meetod .catch()-ga (vähem levinud async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Andmed edukalt saadud:', result);
    })
    .catch(error => {
      console.error('Andmete saamisel viga:', error);
    });
}

try...catch kasutamine on eelistatum ja idiomaatiline async/await jaoks. See võimaldab keskenduda vigade käsitlemisele ühes plokis ning näeb välja rohkem sünkrooniline.