Cómo usar correctamente async/await dentro de Array.map en TypeScript
¡Hola! Soy nuevo en TypeScript y estoy tratando de entender las operaciones asíncronas dentro del método Array.map.
Tengo un array de IDs de usuarios y quiero obtener los datos de cada usuario a través de una API (la función fetchUserData devuelve una Promise). Escribí este código:
```typescript
const userIds: number[] = [1, 2, 3, 4, 5];
async function fetchUserData(id: number): Promise<{ name: string; age: number }> {
const response = await fetch(`https://api.example.com/users/${id}`);
return response.json();
}
// Mi intento
const users = userIds.map(async (id) => {
const userData = await fetchUserData(id);
return userData;
});
console.log(users); // ¡Muestra un array de Promises, no los datos!
```
El problema es que `users` es un array de objetos `Promise`, no los datos en sí. Esperaba obtener un array de usuarios. ¿Cómo puedo esperar correctamente a que todas las operaciones asíncronas dentro de `map` se completen y obtener el array final con los datos?
He oído hablar de `Promise.all`, pero no entiendo