Avatar ·

Como obter o resultado de uma requisição assíncrona em JavaScript?

Olá a todos! Sou novo em JavaScript e me deparei com um problema que está me deixando perplexo. Estou tentando obter dados de uma requisição AJAX e retorná-los de uma função, mas não estou conseguindo. Aqui está meu 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 do then:', userData); // Os dados estão aqui }); console.log('Após fetch:', userData); // undefined return userData; // Sempre undefined } const user = getUserData(123); console.log('Resultado:', user); // undefined ``` Eu entendo que o problema está relacionado à assincronicidade, mas não consigo entender como "retornar" os dados corretamente. Tentei usar async/await, mas ainda recebo undefined. Por favor, explique como trabalhar corretamente com chamadas assíncronas e obter o resultado. Ficarei muito grato por uma explicação detalhada.