Sobes.tech
Junior

Jak obsłużyć błąd (reject) obietnicy w funkcji asynchronicznej?

sobes.tech AI

Odpowiedź od AI

Możesz użyć try...catch.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() może zwrócić obietnicę, która zostanie odrzucona
    console.log('Dane pomyślnie pobrane:', result);
  } catch (error) {
    console.error('Błąd podczas pobierania danych:', error);
    // Tutaj można wykonać dodatkowe działania obsługi błędów
    // Na przykład wyświetlić komunikat użytkownikowi lub zapisać log
  }
}

// Alternatywna metoda z .catch() (mniej powszechna w async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Dane pomyślnie pobrane:', result);
    })
    .catch(error => {
      console.error('Błąd podczas pobierania danych:', error);
    });
}

Użycie try...catch jest bardziej preferowane i idiomatyczne dla async/await. Umożliwia scentralizowane obsługiwanie błędów w jednym bloku i wygląda bardziej synchronicznie.