javascript - 如何访问 JavaScript 事件回调函数中的变量?

标签 javascript json csv dom-events

我正在尝试使用 csvtojson 将 CSV 文件转换为 JSON。我正在使用 csvtojson 库和 fs 读入文件。我可以转换它,但是我无法弄清楚之后如何访问变量。我是 javascript 的新手,我认为来自其他语言的技术并没有奏效......我正在从另一个 js 文件调用该函数,并希望能够从 converter.on 访问变量('end_parsed'...) 函数。代码如下

'use strict'

const fs = require('fs')
const Converter = require('csvtojson').Converter

exports.myfuncc = function () {
  var converter = new Converter({})
  var csvEncoding = { encoding: 'utf16le' }
  var csvString = fs.readFileSync('C:\\Users\\jgipe\\Desktop\\csvs\\201508.txt', csvEncoding).toString()
  converter.fromString(csvString, function (err, result) {
    if (err) { console.log(err) }
  })

  converter.on('end_parsed', function (jsonArray) {
    // Just examples of the data contained in one object
    console.log(jsonArray[9]['Date'])
    console.log(jsonArray[9]['Package Name'])
    console.log(jsonArray[9]['Current Device Installs'])
    console.log(jsonArray[9]['Daily Device Installs'])
    console.log(jsonArray[9]['Daily Device Uninstalls'])
    console.log(jsonArray[9]['Daily Device Upgrades'])
    console.log(jsonArray[9]['Current User Installs'])
    console.log(jsonArray[9]['Total User Installs'])
    console.log(jsonArray[9]['Daily User Installs'])
    console.log(jsonArray[9]['Daily User Uninstalls'])
  })
}

最佳答案

把回调函数作为exports.myfuncc的参数,像这样:

'use strict'

const fs = require('fs')
const Converter = require('csvtojson').Converter

exports.myfuncc = function (callback) {
  var converter = new Converter({})
  var csvEncoding = { encoding: 'utf16le' }
  var csvString = fs.readFileSync('C:\\Users\\jgipe\\Desktop\\csvs\\201508.txt', csvEncoding).toString()
  converter.fromString(csvString, function (err, result) {
    if (err) { console.log(err) }
  })

  converter.on('end_parsed', callback)
}

然后在另一个文件中这样调用它:

exports.myfuncc(function(jsonArray){
    // You can access jsonArray...
});

关于javascript - 如何访问 JavaScript 事件回调函数中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37997598/

相关文章:

从 JSON 导出插入时出现 php Mongodb "$oid is not valid for storage"错误

jquery - typescript 模型到 json - 忽略空值属性

python - 如何避免自动更改panda dataframe中的数据类型并在python中转换为CSV?

ios - 从 NSMutableArray 创建一个 csv

javascript - jQuery/Javascript 将 anchor 链接中的 <space> 替换为 %20

javascript - 在 Prototype-UI 中将循环滚动添加到我的轮播中

javascript - 当字符串包含 src =""或 id =""属性时,不能 $.parseJSON()

java - java中JSONArray无法转换为JSONObject

node.js - Node Express 快速 CSV 下载到客户端

javascript - 如何隐藏数据表中的标题行?