¿Cómo obtener el resultado de una solicitud asíncrona en JavaScript?
¡Hola a todos! Soy nuevo en JavaScript y me encontré con un problema que me tiene realmente perplejo. Estoy intentando obtener datos de una solicitud AJAX y devolverlos desde una función, pero no lo logro.
Aquí está mi código:
```javascript
function getUserData(userId) {
let userData;
fetch(`https://api.example.com/users/${userId}`)
.then(response => response.json())
.then(data => {
userData = data;
console.log('Dentro de then:', userData); // Los datos están aquí
});
console.log('Después de fetch:', userData); // undefined
return userData; // Siempre undefined
}
const user = getUserData(123);
console.log('Resultado:', user); // undefined
```
Entiendo que el problema está relacionado con la asincronía, pero no logro entender cómo "devolver" los datos correctamente. Intenté usar async/await, pero igual obtengo undefined. Por favor, explíquenme cómo trabajar correctamente con llamadas asíncronas y obtener el resultado. Estaré muy agradecido por una explicación detallada.