Node.jsPytanie 10 z 26
Promise czy async/await?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
async/await jest składnią korzystającą z Promise, a nie alternatywnym mechanizmem asynchronicznym. Ułatwia czytanie sekwencji i obsługę błędów przez try/catch.
JavaScript
const [profile, notifications] = await Promise.all([
getProfile(userId),
getNotifications(userId),
]);Praktycznie: await wybieram do czytelnego przepływu, a kombinatory Promise do koordynacji niezależnych operacji. Promise.all odrzuca wynik po pierwszym odrzuceniu; allSettled daje status każdej operacji.
Pułapka: dwa kolejne await niepotrzebnie wydłużą czas, jeżeli operacje mogły rozpocząć się razem. Odrzucenie Promise.all samo nie anuluje pozostałych operacji.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- B-P05 · Jak działają async i await? — JavaScript, TypeScript i Node.js