javascript - 为什么我的 D3.csv() 方法返回“未定义”
问题描述
我只有一个 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>
解决方案
这里的问题是您的数据函数正在返回一个promise,因此year
从promise 对象访问将返回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()
推荐阅读
- javascript - Maxlength 使用 Angular JS 不适用于输入类型文本
- nginx - gunicorn 和 prerender.io 的 NGINX 配置
- angular - 如何禁用基于其他组件单选按钮选项的表单元素
- xamarin.forms - 如何减少xamarin forms uwp平台中汉堡菜单的宽度
- linux - 在 Bash(和其他 shell 语言)中,如何在传递的参数中保留空格转义字符
- python - 将列表的几个索引转换为十六进制
- laravel - 如何从 2 个 Laravel 集合中获取共同值
- reactjs - 如何让表格元素始终居中?
- excel - 如何使用列值删除基于Excel工作表中的行
- php - 从 php 中的 url 获取数据在 localhost 中不起作用