我只有一个csv文件,我正在尝试使用异步函数获取数据,但是我不确定。
<script>
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
})
};
let dataset = data('q3.csv');
console.log(dataset.year);
</script>
答案 0 :(得分:1)
这里的问题是您的数据函数正在返回一个诺言,因此从一个诺言对象访问year
将返回undefined
,因此在调用{{ 1}}
await
答案 1 :(得分:0)
我解决了。
<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>