gpt4 book ai didi

javascript - JSONStream 的基本测试不起作用

转载 作者:行者123 更新时间:2023-11-30 17:49:15 25 4
gpt4 key购买 nike

我正在查看 node.js 中的 JSONStream,我正在尝试使用以下小应用程序来处理它:

var JSONStream = require('JSONStream');
var Stream = require('stream');

var s = new Stream();
s.pipe = function(dest) {
dest.write('{"foo":1}');
return dest;
};

var parser = JSONStream.parse(/foo/);
s.pipe(parser).pipe(process.stdout);

不幸的是,当在命令行上运行时,这不会向控制台写入任何内容。我做错了什么?

最佳答案

如果您重写代码,它会起作用:

var JSONStream = require('JSONStream');
var Stream = require('stream');

var s = new Stream();
s.pipe = function(dest) {
dest.write('{"foo":1}');
return dest;
};

var parser = JSONStream.parse();
parser.on('data', function(obj) {
console.log('obj', obj);
});
s.pipe(parser);

不能将 JSONStream.parse() 的输出通过管道传输到 process.stdout 的原因是 JSONStream 输出对象,并且process.stdout 只接受字符串(可能还有缓冲区):

> process.stdout.write({ foo : 1 });
TypeError: invalid data
at WriteStream.Socket.write (net.js:612:11)
...

关于javascript - JSONStream 的基本测试不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com