javascript - Highchart 不从动态创建的数组中渲染数据
问题描述
我正在使用 Firebase 实时数据库来获取要在 Highchart 中呈现的数据。我已经声明了一个空数组。
arrY = [];
然后在函数内部,我将 x 轴的值连同时间戳一起推送到数组中。
arrY.push([time, parseFloat(tempC)]);
然后当我将数组分配给系列时启动 Highchart 时,图表不会呈现(控制台中没有错误消息)
series: [{
name: 'Temperature',
data: arrY
}]
但是,如果我用它的值和时间戳对数组进行硬编码并将其分配给它会被渲染的 highchart
a = [[1591815122, 28],[1591815141, 28],[1591815161, 28],[1591815180, 28],[1591815200, 28]];
和
series: [{
name: 'Temperature',
data: arrY
}]
当我在控制台中记录两个数组时,两者都显示为数组,但为什么一个工作而另一个不工作?下图中的控制台输出
解决方案
您正在努力解决的问题与 JavaScript 异步有关。请注意,当您 console.log 时,arrY
它是一个空数组。您需要延迟图表渲染,直到从服务器下载数据。
目前,发生了这样的事情:
- 数组已定义,
- 图表使用空数组呈现,
- 数据被下载并推送到阵列,
推荐阅读
- php - 如何使用手动方法重试 Laravel 事务?
- sql-server - 消息 8152,级别 16,状态 14,字符串或二进制数据将被截断
- c# - 用于 Azure Blob 管理的 Azure.Storage.Blobs 与 Microsoft.WindowsAzure.Storage.Blob dll
- javascript - 在exceljs中插入一列
- firebase - 为什么 Firebase 这么晚才发送验证邮件?Firebase + 颤振
- arrays - 如何基于元素包含 textfield.text 的另一个字符串数组创建一个字符串数组。不知道如何以正确的方式过滤它:(
- go - 在confluent kafka go中阅读来自kafka主题的消息时如何使用确认?
- material-ui - 如何为包含 xs={12} 布局全宽的材质 ui 网格项编写 xs、sm、md、lg?
- regex - 正则表达式匹配单词和特殊字符之间的字符串
- list - 创建二维列表,然后在 Scala 中创建一个 DataFrame