[英]JavaScript object value undefined
它将 object 传递给 function 但我不知道为什么,尽管它在那里可见,但我无法返回此 object 的各个元素,因为它在控制台日志中显示“未定义”。 任何人都知道我应该做什么或者我做错了什么?
代码:
async function getMonitors(){
try {
let res = await fetch(API_URL+"/"+API_VERSION+"/status/monitors/"+location.hostname+"/list");
var data = await res.json();
if(data.success){
delete data.success;
return data;
}else{
e=data.message;
}
} catch(error){
e=error;
}
if(typeof e!="undefined"&&e!==null){system.error(e);}
}
function getMonitorsData(data){
let totalMonitors = data.totalMonitors;
console.log(data);
}
var m = getMonitors();
var data = getMonitorsData(m);
function Object中返回的object的屏幕
您在调用getMonitors()
function 时错过了await
关键字。
async function getMonitors(){
try {
let res = await fetch(API_URL+"/"+API_VERSION+"/status/monitors/"+location.hostname+"/list");
var data = await res.json();
if(data.success){
delete data.success;
return data;
}else{
e=data.message;
}
} catch(error){
e=error;
}
if(typeof e!="undefined"&&e!==null){system.error(e);}
}
function getMonitorsData(data){
let totalMonitors = data.totalMonitors;
console.log(data);
}
async function init() {
var m = await getMonitors();
var data = getMonitorsData(m);
}
init();
您忘记调用 function 并传递来自您的 api 的响应数据
async function getMonitors(){ try { let res = await fetch("https://www.7timer.info/bin/astro.php?lon=113.2&lat=23.1&ac=0&unit=metric&output=json&tzshift var 数据 = 等待 res.json(); getMonitorsData(data) // 这是我添加的用于将响应传递给 function if(data.success){ delete data.success; 返回数据; }else{ e=data.message; } } 捕捉(错误){ e=错误; } if(typeof e.="undefined"&&e;==null){system.error(e);} } function getMonitorsData(data){ let totalMonitors = data.totalMonitors; 控制台;日志(数据); } var m = getMonitors(); var data = getMonitorsData(m);
尝试 console.log(data.totalMonitors) 看看你是否真的得到了正确的位置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.