我正在使用 javascript 中的 api 返回一些要分析和可视化的医疗保健数据。我创建了一个函数
get_data()
来访问数据,以便它可以在脚本的其他地方使用:
function get_data() {
console.log(vaccination_data[0]);
var vax_data = vaccination_data[0];
console.log(vax_data.city)
return vax_data
}
这在函数中运行良好,我可以记录数据及其要控制台的元素。我遇到的问题是,当我尝试使用
return
将 vax_data
变量 var data = get_data()
分配给函数外部的变量时,我收到错误消息:
"<a class='gotoLine' href='#60:22'>60:22</a> Uncaught TypeError: Cannot read properties of undefined (reading 'city')"
我测试了一个简单的功能,效果很好,例如:
function a() {
var str = "first";
return str
}
var string = a()
console.log(string)
谁能告诉我为什么它的工作方式与从 api 返回的数据不同?
完整代码:
var vaccination_data = [];
$.ajax({
url: "https://health.data.ny.gov/resource/nvtm-yit2.json",
type: "GET",
data: {
"$limit" : 5000,
"$$app_token" : 'aGFbKDOg0gCeCm2c9Od2EsFjL'
}
}).done(function(api_data) {
//console.log(api_data)
vaccination_data = api_data;
get_data();
});
function get_data() {
console.log(vaccination_data[0]);
var vax_data = vaccination_data[0];
console.log(vax_data.city)
return vax_data
}
var data = get_data()
console.log(data)