我正在尝试将CSV从CSV文件转换为JSON。
我有以下代码
(async() => {
csvToJson().fromStream(request.get("https://raw.githubusercontent.com/dsfsi/covid19za/master/data/covid19za_provincial_cumulative_timeline_confirmed.csv"))
.then(source => {
let latest_provinces_confirmed = source;
});
console.log(latest_provinces_confirmed)
...当我运行它的时候,我得到了UnhandledPromiseRejectionWarning: ReferenceError: latest_provinces_confirmed is not defined
如何将CSVtoJSON的结果放入一个变量中以供以后使用
提前感谢
发布于 2020-05-23 18:39:38
你正在犯一个简单的初学者级别的错误。"let“的作用域只在块内部。如下所示更改您的代码,它应该可以工作。
(async() => {
let latest_provinces_confirmed;
csvToJson().fromStream(request.get("https://raw.githubusercontent.com/dsfsi/covid19za/master/data/covid19za_provincial_cumulative_timeline_confirmed.csv"))
.then(source => {
latest_provinces_confirmed = source;
console.log(latest_provinces_confirmed)
....
});发布于 2020-05-23 18:48:26
变量'lastest_provinces_confirmed‘是在匿名函数内部声明的,因此您无法在该函数外部访问它。这就是console.logging变量不起作用的原因。
您可以通过返回该变量来尝试将该变量传递到该函数外部,也可以在这些函数外部转发声明该变量以便能够访问它。
像这样的东西可能会起作用:
let latest_provinces_confirmed = csvToJson().fromStream(request.get("https://raw.githubusercontent.com/dsfsi/covid19za/master/data/covid19za_provincial_cumulative_timeline_confirmed.csv"))
.then(source => {
return source;
});请记住,您使用的是异步函数,因此在使用‘latest_ account _confirmed’之前,必须确保函数csvToJson()已运行。为了做到这一点,你可以检查"await“的使用!
https://stackoverflow.com/questions/61970610
复制相似问题