管道的javascript流无法正常运行

时间:2018-09-18 05:23:36

标签: javascript

想使用JavaScript流解析csv-阅读所有文档-但它似乎并没有达到我的期望

如果我愿意

const parse = require( "csv-parse");
const fs = require("fs");
var input = fs.createReadStream("/temp/4486b729509d5ed4cfc3a61a79749812", {encoding:"utf8"});
var parser = parse({});
input.pipe( parser ).pipe(process.stdout);

我说一个错误

  

“块”参数必须是字符串或缓冲区类型之一。收到类型对象

如果我添加

const { Transform } = require( "stream");

const log = new Transform( {
    transform( chunk, encoding, callback ) {
        this.push( chunk );
        console.log("tick", chunk);
        callback();
    }
});

input.pipe(log).pipe(process.stdout);

然后我得到了一系列的Uint8Arrays打印。

如果我愿意

const fs = require("fs");
var readStream = fs.createReadStream("/temp/4486b729509d5ed4cfc3a61a79749812");
readStream.pipe( process.stdout );

我没有输出。

为什么管道无法输出到stdout,csv解析有什么问题? uint8array是缓冲区吗?为什么将其视为对象?

0 个答案:

没有答案