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.