Javascript 将API结果传递到图表时出现问题

Javascript 将API结果传递到图表时出现问题,javascript,arrays,chart.js,fetch-api,Javascript,Arrays,Chart.js,Fetch Api,当我获取API时,一切正常,但当我将函数放入图表的数据保持器中时,它会在控制台中显示错误。我不知道是什么问题,因为当我进行单独检查时,我可以看到所有的数字,但当我将该函数放在数据字段中时,就看不到了。我还发布了示例API 怎么了 constapi=”http://localhost:8080/webmap/api/chartforweek/username1"; 让chartForOneWeek=[]; 函数showAll(){ 获取(api) 。然后(响应=>{ 返回response.jso

当我获取API时,一切正常,但当我将函数放入图表的数据保持器中时,它会在控制台中显示错误。我不知道是什么问题,因为当我进行单独检查时,我可以看到所有的数字,但当我将该函数放在数据字段中时,就看不到了。我还发布了示例API

怎么了

constapi=”http://localhost:8080/webmap/api/chartforweek/username1";
让chartForOneWeek=[];
函数showAll(){
获取(api)
。然后(响应=>{
返回response.json();
})
.然后((一周卡)=>{
chartForOneWeek=oneWeekChar;
控制台.表格(一周图表);
})
.catch(错误=>{
控制台日志(err);
})
}
函数showUser(){
chartForOneWeek.forEach(一周=>{
平均剂量1周;
});
}
var ctx=document.getElementById('myChart').getContext('2d');
var myChart=新图表(ctx{
键入:“行”,
数据:{
标签:['M','T','W','T','F','S','S'],
数据集:[{
标签:“苹果”,
数据:showUser(),//==========>我试着把这个放在这里,我试过[showUser],我也试过[chartForOneWeek.averageDose]//
背景颜色:“rgba(153255,51,0.4)”
}, {
标签:“橙子”,
数据:[],//====>我应该为数据放什么?
背景颜色:“rgba(255153,0,0.4)”
}]
}
});

我认为这里的问题是fetch是一个异步调用,在创建图表之前它还没有完成。在继续之前,你需要做一些等待


可能的输入错误:
。在
showUser()中会发生什么情况?它看起来不完整。您是否从
forEach(一周=>{
内部调用API,当我获取API时,showUser()将打印出平均剂量数组。您在哪里调用
showAll()
?同意。我会在收到数据后初始化图表。但我并不清楚OP在哪里调用API。