Node.jsPytanie 07 z 26
Obsługa asynchroniczności
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Podstawowe sposoby to callbacki, Promise i async/await. Zdarzenia oraz strumienie pasują z kolei do wielu kolejnych wyników, np. danych przychodzących z połączenia.
JavaScript
async function load() {
try {
const response = await fetch('https://example.com/api/items');
if (!response.ok) throw new Error(`HTTP ${response.status}`);
return await response.json();
} catch (error) {
console.error('Nie udało się pobrać danych', error);
throw error;
}
}Pułapka: fetch nie odrzuca Promise wyłącznie dlatego, że serwer zwrócił HTTP 404 lub 500. Trzeba sprawdzić status. Przy prawdziwych requestach planuję też timeout i anulowanie.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.