【发布时间】:2021-03-10 12:54:10
【问题描述】:
在下面的代码中,您可以看到异步函数,第一个用于获取一些数据,第二个是使用刚刚获取的数据构建一个图表。它工作得很好,但我想每秒刷新一次数据。我到处都放了 setInterval 但没有任何效果......
代码如下:
chartSet();
const xAxis = [];
const yAxis = [];
async function resetChart() {
const datas = await fetch(
"https://canvasjs.com/services/data/datapoints.php"
);
const datasJson = await datas.json();
datasJson.forEach((elt) => {
xAxis.push(elt[0]);
yAxis.push(elt[1]);
});
}
async function chartSet() {
await resetChart().catch(() => {
console.warn("Didn't work");
});
const ctx = document.getElementById("myChart3").getContext("2d");
const myChart = new Chart(ctx, {
type: "line",
data: {
labels: xAxis,
datasets: [
{
label: "Random datas",
data: yAxis,
backgroundColor: "rgba(255, 99, 132, 0.2)",
borderColor: "rgba(255, 99, 132, 1)",
borderWidth: 1,
},
],
},
options: {
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
},
},
],
},
},
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js" integrity="sha512-d9xgZrVZpmmQlfonhQUvTR7lMPtO7NkZMkA0ABN3PHCbKA5nqylQ/yWlFAyY6hYgdF1Qh6nYiuADWwKB4C2WSw==" crossorigin="anonymous"></script>
<canvas id="myChart3"></canvas>
感谢您的帮助!
【问题讨论】:
标签: javascript fetch settimeout setinterval