我试图从d3中的csv文件加载数据;我有以下代码:
function update (error, data) {
if (error !== null) {
alert ("Couldn't load the dataset!");
} else {
//do something
};
function changeData () {
d3.csv ("data/dataset.csv", update);
}
如果我使用D3V4,它工作得很好,但如果我切换到v5,它就不再工作了。有人能给我解释一下如何修改代码使其与D3V5一起工作吗?
2条答案
按热度按时间jljoyd4f1#
D3V5使用fetch api并返回一个承诺,该承诺需要以下代码。
以防将来人们想要v4。另一方面,D3V4使用xmlhttprequest方法,并且不返回需要此代码的承诺
csv加载是异步的,因此请确保在csv函数中运行图表代码。
oxcyiej72#
@pmkro的答案很好,但是如果您想使用es7 async/await而不是promise,那么: