Node.jsPytanie 06 z 26
Callback hell
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
To układ wielu zagnieżdżonych callbacków, w którym trudno śledzić zależności, błędy i przepływ sterowania.
JavaScript
// Schemat problemu
loadUser(id, (error, user) => {
if (error) return handleError(error);
loadOrders(user.id, (error, orders) => {
if (error) return handleError(error);
renderOrders(orders);
});
});Rozwiązanie: wydzielam nazwane funkcje, a gdy API na to pozwala, używam Promise i async/await. Obsługę błędów utrzymuję na właściwym poziomie.
Pułapka: callback sam w sobie nie jest problemem. Problemem jest trudna do utrzymania kompozycja i pomijanie błędów.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.