Я сделал небольшую диаграмму, используя D3.js.Ожидание рендеринга диаграммы до загрузки данных
Существует 3 различных типа функций нагрузки для различных типов входных данных.
Моя диаграмма может быть отображена на любом из этих наборов данных по одному на основе параметра, переданного функции рендеринга.
Код загрузки данных является асинхронным, что создает проблему, потому что моя функция рендеринга начинает рисовать даже до того, как данные полностью загружены.
Я дал отдельные функции загрузки вместо вызова их внутри функции рендеринга, потому что пользователь может сначала просто загрузить наборы данных и отобразить диаграмму позже.
Я думал о том, чтобы ждать флага перед началом рисования и установить этот флаг, когда все наборы данных выгрузили, но выглядит уродливым ко мне бесконечного цикла.
Любые идеи с точки зрения дизайна, которые я мог бы использовать для выполнения этой работы?
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.
Да, вы не можете этого сделать, вам нужно поставить код d3 на обратный вызов csv. –