gpt4 book ai didi

javascript - 当我的数组已满时如何调用函数

转载 作者:行者123 更新时间:2023-12-02 20:54:11 25 4
gpt4 key购买 nike

我有一个用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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com