2 回答
TA贡献1802条经验 获得超10个赞
这里的问题是你的数据函数正在返回一个承诺,所以year从一个承诺对象访问将返回undefined,你需要await在调用你的时添加data function
async function data(pathToCsv) {
return await d3.csv(pathToCsv, function (data) {
data.year = +data.year
data.running_total = +data.running_total
data.date = new Date(data.year, 0)
return data
})
};
async function init() {
let dataset = await data('q3.csv');
// this should work now assuming you are using d3 function correctly as i'm not aware of d3 functions myself
console.log(dataset.year);
}
init()
TA贡献1848条经验 获得超2个赞
我解决了。
<script>
async function data(pathToCsv) {
let dataset = await d3.csv(pathToCsv, function (d) {
d.year = +d.year
d.running_total = +d.running_total
d.date = new Date(d.year, 0)
return d
})
return dataset
};
data('q3.csv').then(function(d) {
d.forEach(function(p){
console.log(p.date.getFullYear());
})
});
</script>
添加回答
举报