在node.js中的自定义流上放气
我有一个简单的脚本:在node.js中的自定义流上放气,node.js,compression,node.js-stream,Node.js,Compression,Node.js Stream,我有一个简单的脚本: const {Readable} = require('stream') const zlib = require('zlib'); const deflate = zlib.createDeflate(); var read = new Readable(); read._read = function () {}; read.pipe(deflate).pipe(process.stdout); var i = 0; const interval = setInterv
const {Readable} = require('stream')
const zlib = require('zlib');
const deflate = zlib.createDeflate();
var read = new Readable();
read._read = function () {};
read.pipe(deflate).pipe(process.stdout);
var i = 0;
const interval = setInterval(() => {
if(i == 10) {
read.push(null)
clearInterval(interval)
} else {
read.push(JSON.stringify(i++));
}
}, 1000);
它只打印一个值,如下所示:
x�
0123456789
我希望有一系列的9值,如果我只是从管道中删除deflate
,效果会很好
read.pipe(process.stdout);
我得到的9值打印如下:
x�
0123456789
那么,为什么添加
deflate
不会打印9个值呢?这就是compression
%)p的乐趣。@AJAX示例代码只是以简单的方式显示问题,但实际用例包含更大的值,需要压缩。但基本问题仍然是:)不。压缩的乐趣在于,也就是压缩。如果大于输入值
值
,则为关键值。