正在等待呈现图表,直到加载数据为止

Waiting for rendering a chart till data has loaded

本文关键字:加载 数据 在等待      更新时间:2023-09-26

我用D3.js.做了一个小图表

  1. 对于不同类型的输入数据类型,有3种不同类型的加载函数。

  2. 我的图表可以在这些数据集中的任何一个数据集上渲染,根据传递给渲染函数的参数一次渲染一个。

  3. 数据加载代码是异步的,这会产生问题,因为我的渲染函数甚至在数据完全加载之前就开始绘制了。

  4. 我给出了单独的加载函数,而不是在render函数中调用它们,因为用户可能只想在最初加载数据集,然后再渲染图表。

  5. 我想过在开始绘制之前等待一个标志,并在所有数据集上传后设置这个标志,但由于无限循环,我觉得很难看。

在设计方面,我有什么想法可以用来做这件作品吗?

    var visualization = new  Chart()
                          .width(1000)
                          .height(1000)
                          .loadDissimilarityMatrix('dataSet1.csv')
                          .loadAdjacencyMatrix('dataSet2.csv')
                          .loadLaplacianMatrix('dataSet3.csv')
                          .render('Dissimilarity')
                          // .render('Adjacency') for using the adjacency dataset.

我想出了一个解决方案。

我意识到数据加载部分应该留给API用户。与其要求URL来加载文件,我应该只要求直接的数据。显示"繁忙屏幕"等的责任应由API用户承担。

当数据集完全加载时,他应该在回调中调用图表创建和呈现代码。我的图表可以直接渲染,而不必担心数据仍在加载。

我检查了一些API,发现没有一个负责解析和加载数据。

附言:公开征求意见。