Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步函数返回未定义的现有数组_Javascript - Fatal编程技术网

Javascript 异步函数返回未定义的现有数组

Javascript 异步函数返回未定义的现有数组,javascript,Javascript,我在我的类中有一个异步函数,它的执行方式与假设的一样,但调用它时,它的返回值未定义。在返回行“returnarray”开始工作之前执行console.log(array) 我已尝试在this.array中设置变量,但它也不起作用 类核心{ 构造函数(键){ this.key=key; } 异步getSessions(){ var finalresponse=[] 试一试{ //等待回应 等待取回(“https://api.purecore.io/rest/1/session/get/?key=

我在我的类中有一个异步函数,它的执行方式与假设的一样,但调用它时,它的返回值未定义。在返回行“returnarray”开始工作之前执行console.log(array)

我已尝试在this.array中设置变量,但它也不起作用

类核心{
构造函数(键){
this.key=key;
}
异步getSessions(){
var finalresponse=[]
试一试{
//等待回应
等待取回(“https://api.purecore.io/rest/1/session/get/?key=+this.key,{method:“GET”})。然后(函数(响应){
返回response.json();
}).then(函数(jsonresponse){
//查找错误
if(jsonresponse.error!=null){
抛出新错误(“PureCore返回错误:“+jsonresponse.Error+”->“+jsonresponse.msg”)
}否则{
//将会话添加到响应中
forEach(player=>{
最终响应推送(新CoreSession(玩家[“mojang_用户名”]、玩家[“mojang_uuid”]、玩家[“core_id”]、玩家[“验证”]))
});
console.log(finalresponse)//返回数组列表
return finalresponse;//返回未定义
}
});
}捕获(e){
抛出新错误(“获取响应时出错”https://api.purecore.io/rest/1/session/get/?key=“+this.key+”'->“+e.message)
}
}
}
类核心会话{
构造函数(用户名、uuid、核心uuid、已验证){
this.username=用户名;
this.uuid=uuid;
this.core_uuid=core_uuid;
this.verified=verified;
}
}
//测试:
会话=新核心(“731B59D106EA5ACD0A385958D8E0F18B74B741F28F6EFA43ED4A273A42D6F9”)。getSessions()。然后(函数(值){
console.log(值)
},功能(原因){
console.log(原因)

});您必须从异步函数返回一些内容

// wait for response
return await fetch("https://api.purecore.io/rest/1/session/get/?key=" + this.key, { method: "GET" }).then(function (response) {
类核心{
构造函数(键){
this.key=key;
}
异步getSessions(){
var finalresponse=[]
试一试{
//等待回应
返回等待获取(“https://api.purecore.io/rest/1/session/get/?key=+this.key,{method:“GET”})。然后(函数(响应){
返回response.json();
}).then(函数(jsonresponse){
//查找错误
if(jsonresponse.error!=null){
抛出新错误(“PureCore返回错误:“+jsonresponse.Error+”->“+jsonresponse.msg”)
}否则{
//将会话添加到响应中
forEach(player=>{
最终响应推送(新CoreSession(玩家[“mojang_用户名”]、玩家[“mojang_uuid”]、玩家[“core_id”]、玩家[“验证”]))
});
console.log(finalresponse)//返回数组列表
return finalresponse;//返回未定义
}
});
}捕获(e){
抛出新错误(“获取响应时出错”https://api.purecore.io/rest/1/session/get/?key=“+this.key+”'->“+e.message)
}
}
}
类核心会话{
构造函数(用户名、uuid、核心uuid、已验证){
this.username=用户名;
this.uuid=uuid;
this.core_uuid=core_uuid;
this.verified=verified;
}
}
//测试:
会话=新核心(“731B59D106EA5ACD0A385958D8E0F18B74B741F28F6EFA43ED4A273A42D6F9”)。getSessions()。然后(函数(值){
console.log(值)
},功能(原因){
console.log(原因)
});