首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSVtoJSON返回UnhandledPromiseRejectionWarning: ReferenceError: JavaScript

CSVtoJSON返回UnhandledPromiseRejectionWarning: ReferenceError: JavaScript
EN

Stack Overflow用户
提问于 2020-05-23 18:25:53
回答 2查看 159关注 0票数 0

我正在尝试将CSV从CSV文件转换为JSON。

我有以下代码

代码语言:javascript
复制
(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的结果放入一个变量中以供以后使用

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2020-05-23 18:39:38

你正在犯一个简单的初学者级别的错误。"let“的作用域只在块内部。如下所示更改您的代码,它应该可以工作。

代码语言:javascript
复制
(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)
         ....        
    });
票数 0
EN

Stack Overflow用户

发布于 2020-05-23 18:48:26

变量'lastest_provinces_confirmed‘是在匿名函数内部声明的,因此您无法在该函数外部访问它。这就是console.logging变量不起作用的原因。

您可以通过返回该变量来尝试将该变量传递到该函数外部,也可以在这些函数外部转发声明该变量以便能够访问它。

像这样的东西可能会起作用:

代码语言:javascript
复制
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“的使用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61970610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档