Junior
Асинхрондук функцияда убада (reject) катасын кантип иштетсе болот?
sobes.tech AI
AIден жооп
Мүмкін болса, try...catch пайдаланыңыз.
async function processData() {
try {
const result = await fetchData(); // fetchData() уәде қайтаруы мүмкін, ол қабылданбауы мүмкін
console.log('Деректер сәтті алынды:', result);
} catch (error) {
console.error('Деректерді алу кезінде қате:', error);
// Мұнда қателікті өңдеу үшін қосымша әрекеттер жасауға болады
// Мысалы, хабарлама көрсету немесе лог жазу
}
}
// .catch() арқылы баламалы әдіс (аз қолданылатын)
async function processDataAlt() {
await fetchData()
.then(result => {
console.log('Деректер сәтті алынды:', result);
})
.catch(error => {
console.error('Деректерді алу кезінде қате:', error);
});
}
try...catch қолдану async/await үшін ең жақсы және идиоматикалық. Бұл қателерді бір блокта орталықтандыруға мүмкіндік береді және синхрондырақ көрінеді.