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

Node.js NodeJS:解析csv并通过承诺返回列表,node.js,csv,Node.js,Csv,我正在尝试解析节点服务器中的csv 我决定尝试使用“npm安装csv”安装csv模块 当我执行下面的代码时,日志为行显示正确的值。但我无法通过一个可以在我的环境中共享的承诺来导出这个结果 var parse = require('csv-parse') var csvPromise = fs.readFile('path/to/file.csv', function (err, fileData) { return parse(fileData, {}, function(err, row

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

我决定尝试使用“npm安装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 ;
  })
})  
我希望能够在几个地方调用以下代码

csvPromise.then(function (res) {return res ;})
我试过几种方法,但找不到解决办法。我该怎么办

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) ;
    });
  });
})

希望这有帮助。

谢谢你的建议,但是csvPromise。然后(函数(res){return res;})返回res的解析器对象。。。如何提取数组?我刚刚更新了答案。我不熟悉csv解析。如果前面的代码返回行的结果,那么它应该解析行。如果
readFile
parse
抛出错误怎么办?它会自动拒绝吗?
拒绝(err)
。它不会自动拒绝。它会被卡住直到超时。您必须手动拒绝@NobleUpplt,您也可以尝试使用它,它具有内置的Promise支持。