我正在尝试从 FTP 服务器解析一个 csv 文件。当文件只有一行数据时,就会出现问题。如果文件有超过 1 行数据,它工作正常。下面的代码完成了这项工作。经过调试,我发现 fromString 方法没有返回任何内容,但是,来自套接字的数据被成功读取。任何帮助表示赞赏
async function getFileData(ftpConnection, filename) {
return new Promise((resolve, reject) => {
ftpConnection.get(filename, (err, socket) => {
const products = [];
if (err) {
console.log(err)
reject(null);
}
socket.on('data', data => {
csv({
headers: HEADERS,
delimiter: [';'],
})
.fromString(data.toString('latin1'))
.subscribe((product) => {
// Product is empty when its only one line
products.push(product);
})
});
socket.on('close', closingError => {
if (closingError) {
console.error('[Error]: ', filename);
reject(null)
} else {
console.log("PRODUCTs")
console.log(products)
resolve(products);
}
});
socket.resume();
});
});
}