await inside a loop does exactly what it says: waits for each iteration before starting the next. For ten independent requests that is ten round trips one after another.
// sequential: 10 × 200ms = 2s
for (const id of ids) {
results.push(await fetchOrder(id));
}
// concurrent: ~200ms
const results = await Promise.all(ids.map(id => fetchOrder(id)));
The sequential form is right when each iteration depends on the previous one, or when the far end will rate-limit a burst — both are real and neither is the common case. Note that map with an async callback returns an array of promises rather than an array of values, which is the mistake that produces a list of Promise { <pending> } in a log.