Node.js NodeJS:解析csv并通过承诺返回列表
我正在尝试解析节点服务器中的csv 我决定尝试使用“npm安装csv”安装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
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支持。