
Learning Log #8: Asynchroniczność w JavaScript – promises i async/await
Środa, 21:50. Ten sam fragment kodu wyświetla się już trzeci wieczór z rzędu. Konsola pokazuje undefined tam, gdzie powinny być dane.
Asynchroniczność w JavaScript to temat, o którym każdy mówił to samo: „To ten moment, kiedy JavaScript przestaje mieć sens, a potem nagle zaczyna mieć sens zupełnie inny niż myślałaś.”
Po tygodniach walki, w końcu rozumiem promises i async/await na tyle, żeby o tym napisać.
W tym Learning Logu pokazuję:
– Dlaczego kod w JavaScript nie zawsze wykonuje się w kolejności, w jakiej go piszemy (i dlaczego to konieczne)
– Wywołania zwrotne (callbacks) i „piekło wywołań zwrotnych” – problem, który trzeba było rozwiązać
– Obietnice (Promises) – eleganckie rozwiązanie z łańcuchowaniem operacji
– Async/await – składnia sprawiająca, że kod asynchroniczny wygląda jak zwykły, sekwencyjny kod
– Praktyczny projekt: wyszukiwarka pogody korzystająca z prawdziwego API
– Cztery typowe błędy początkujących (zapominanie o await, operacje sekwencyjne zamiast równoległych, brak obsługi błędów)
Plus: dlaczego warto poznać wszystkie trzy podejścia po kolei, zamiast od razu skakać do najnowszej składni.
Trzy tygodnie frustracji, diagramy na kartce papieru, wieczory gapienia się w undefined w konsoli. Ale kiedy w końcu kliknęło – satysfakcja jakiej nie dała żadna łatwiejsza lekcja.


