小编Bee*_*dle的帖子

NodeJS CSVReader - 使用 csv 解析的 createReadStream 返回空数组

我有一个带有两个参数(文件路径和模型)的 CSV 读取器类。文件路径是 .csv 文件的路径,模型是将构建 .csv 的模型。数据将存储在输出数组中。它有一个问题,因为当我返回数组时,它是空的。但是当我控制台记录数组时,它里面有数据。有人能帮我吗?

索引.js

const parse = require('csv-parse')
const fs = require('fs');
const output = [];

class CSVReader{
    static GetRecord(filePath, model){
        fs.createReadStream(filePath)
            .pipe(parse({columns: false, delimiter: ',', trim: true, skip_empty_lines: true}))
            .on('readable', function (){
                let record
                while (record = this.read()){
                    let city = model.create(record)
                    output.push(record)
                }
            })
            .on('end', function (){
                //console.log(output);
            })
        return output;
    }
}
module.exports = CSVReader;
Run Code Online (Sandbox Code Playgroud)

我使用 Jest 测试该文件,但它有问题,正如预期的那样是 6,但我收到了 []

索引.test.js

const CSVReader = require('../src/Index');
const City = require('../src/Models/City')
test('Can Read CSV File', …
Run Code Online (Sandbox Code Playgroud)

javascript jestjs

3
推荐指数
1
解决办法
1497
查看次数

标签 统计

javascript ×1

jestjs ×1