Avatar ·

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