2 回答
TA贡献1802条经验 获得超10个赞
这是因为控制台日志很可能在执行 then 块之前很久就发生了。在用长度覆盖它之前,它的初始值是一个由四个整数组成的数组。尝试使创建的函数异步并等待 axios 承诺链解决。
async function created() {
await axios.get('http://localhost:3030/disruptions/', { // await the resolve
params: {
DisruptionCategory: 0
}
})
.then((response) => {
this.disturbances_category_0 = response.data.data; //HERE IS THE COMPLETE ARRAY
this.datasets[0].data[0] = this.disturbances_category_0.length; //HERE I WANT TO SET THE LENGTH
})
.catch((error) => {
console.log(error.data);
});
//imagine that for the other fruits as well...
console.log(this.datasets[0].data[0]); // now this should be updated
}
TA贡献2012条经验 获得超12个赞
console.log(this.datasets[0].data[0]);
由于它是异步的,因此上面将在处理您的请求的响应之前运行。一旦您从服务器获得响应,您的代码将继续执行,而 .then() 部分将在另一个线程上执行。
添加回答
举报