如何获取异步请求的结果并从函数中返回它?
大家好!我是 JavaScript 新手,遇到了一个无法解决的问题。我写了一个简单的代码,向 API 发送 AJAX 请求并尝试返回获取的数据,但总是得到 undefined。这是我的代码:
function getUserData(userId) {
let userData;
$.ajax({
url: 'https://api.example.com/users/' + userId,
method: 'GET',
success: function(response) {
userData = response;
console.log('在 success 内部:', userData); // 数据存在!
}
});
return userData; // 总是 undefined
}
const result = getUserData(42);
console.log('外部:', result); // undefined
我明白问题在于异步——getUserData 函数在服务器响应到达之前就返回了值。但如何正确获取数据并在代码中继续使用呢?我尝试了不同的方法:全局变量、setTimeout,但都没有成功。