作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用chart.js构建图表的函数,但有时当我获取数据的上一个函数尚未完成时,该函数就会运行,因此图表会中断,当我有我需要的所有数据吗?我想使用与 setTimeout 不同的东西,因为我已经使用了它,但有时它无论如何都会失败,我不想只是不断增加超时数
if (regionData !== undefined) {
that.hasData = true;
Object.entries(regionData).forEach(e => {
let obj = {};
let value = 0;
let regionD = all_regions.map(function (e) { return e.id; }).indexOf(e[0]);
obj["regionDescription"] = all_regions[regionD].data.d;
obj["region"] = e[0];
if (e[1] !== undefined && e[1]["month"] !== undefined) {
value = e[1]["month"][e[1]["month"].length - 1];
}
obj["regio"] = value;
regionS.push(obj);
});
that.buildChart(regionS, lastMonth);
}
这就是我调用图表函数的地方
最佳答案
我没有看到您的其余代码,但根据您的描述,有一个简单的逻辑解决方案。
问题是 buildChart 函数在 getChartData 函数之前运行。解决方案。在 getChartData 函数之后调用 buildChart 函数。伪代码示例,
const getChartData = () => {
return new Promise((resolve) => {
Run your HTTP request and retrieve your data
resolve(chart data ready to be used)
});
}
const buildChart = () => {
// do your chart building here
}
//then you run the functions in sequence.
getChartData().then(buildChart);
关于javascript - 当我的数组已满时如何调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61528595/
我是一名优秀的程序员,十分优秀!