Jak działają async i await?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Funkcja oznaczona async zwraca Promise. await pozwala w niej poczekać na rozstrzygnięcie Promise i dalej pracować z jego wynikiem w czytelnej kolejności. Gdy wynik jest błędem, można obsłużyć go przez try/catch.
Takie czekanie wstrzymuje dalszą część tej funkcji, a nie cały serwer. Inne zadania mogą być w tym czasie obsługiwane. Jednak kod przed i po await nadal wykonuje zwykłą pracę: jeśli zawiera bardzo ciężkie obliczenie, oznaczenie funkcji jako async nie przeniesie go automatycznie na inny wątek. Dwa kolejne await fetch() zwykle oznaczają czekanie kolejno, a nie równocześnie.
Dlaczego to ważne: Częsta przyczyna błędnych założeń podczas live codingu.
Możliwe dopytania: Jak rozpocząć dwa niezależne odczyty przed czekaniem na ich wyniki?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- Promise czy async/await? — Node.js
Przećwicz w kodzie
- Najwyżej trzy aktywne operacje — uruchamia testy w przeglądarce
Dalsza lektura
- Node.js: The Event Loop(otwiera się w nowej karcie)Docs; dostęp 22.10.2026. Fazy event loop, timery i zależności od wersji Node/libuv.