Cómo usar correctamente async/await dentro de un bucle forEach en JavaScript
¡Hola a todos! Soy nuevo en JavaScript y estoy tratando de entender la asincronía. Tengo un array de URLs y quiero cargar datos de cada una secuencialmente usando `async/await`. Decidí usar `forEach`, pero me encontré con un problema: mi código no espera a que cada solicitud termine, sino que las inicia todas al mismo tiempo.
Aquí está mi código:
```javascript
const urls = ['/api/user/1', '/api/user/2', '/api/user/3'];
async function fetchUserData(url) {
const response = await fetch(url);
return await response.json();
}
async function loadAllUsers() {
urls.forEach(async (url) => {
const userData = await fetchUserData(url);
console.log('User loaded:', userData);
});
console.log('All users loaded!');
}
loadAllUsers();
```
Cuando ejecuto este código, veo en la consola el mensaje "All users loaded!" inmediatamente después de llamar a `loadAllUsers()`, y luego aparecen los datos de los usuarios. ¿Por qué `await` no funciona dentro de `forEach`? ¿Cómo puedo organizar correctamente
No answers yet.
Inicia sesión para dejar una respuesta