Node.jsPytanie 11 z 26
Zależne wywołania API
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Jeśli kolejne wywołanie potrzebuje wyniku poprzedniego, wykonuję je sekwencyjnie. Równolegle uruchamiam tylko niezależną pracę.
JavaScript
const user = await getUser(email);
const orders = await getOrders(user.id);
const details = await Promise.all(
orders.map(order => getDetails(order.id))
);Doprecyzowanie: dla tysięcy elementów ograniczam współbieżność, żeby nie przeciążyć API ani bazy. Określam też zachowanie przy częściowym błędzie.
Pułapka: array.forEach(async () => ...) nie czeka na zakończenie callbacków. Używam for...of dla sekwencji albo map i właściwego kombinatora Promise.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.