NodeJS:解析 csv 并通过承诺返回列表

use*_*833 2 csv node.js

我正在尝试解析节点服务器内的 csv。

我决定尝试使用“npm install csv”安装的 csv 模块

当我执行下面的代码时,日志显示行的正确值。但我无法通过承诺在我的环境中分享来导出这个结果。

var parse = require('csv-parse')
var csvPromise = fs.readFile('path/to/file.csv', function 
(err, fileData) {
  return parse(fileData, {}, function(err, rows) {
    console.log('rows', rows, err)
    return rows ;
  })
})  
Run Code Online (Sandbox Code Playgroud)

我希望能够在多个地方调用以下代码。

csvPromise.then(function (res) {return res ;})
Run Code Online (Sandbox Code Playgroud)

我尝试了多种方法但找不到解决方案。我该如何处理?

Dan*_*ves 6

var parse = require('csv-parse');
const csvPromise = new Promise((resolve, reject) => {
  fs.readFile('path/to/file.csv', (err, fileData) => {
    parse(fileData, {}, function(err, rows) {
      console.log('rows', rows, err)
      resolve(rows) ;
    });
  });
})
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。