如何丢弃 NodeJS 转换流中的一个块并从前一个流中读取下一个块?
stream.on('data',function(data){}).pipe(rulesCheck).pipe(step1).pipe(step2).pipe(step3).pipe(insertDataIntoDB);
如果它没有通过 ruleCheck 流中的某些标准,我想丢弃该块。
如何丢弃 NodeJS 转换流中的一个块并从前一个流中读取下一个块?
stream.on('data',function(data){}).pipe(rulesCheck).pipe(step1).pipe(step2).pipe(step3).pipe(insertDataIntoDB);
如果它没有通过 ruleCheck 流中的某些标准,我想丢弃该块。
抱歉主题死灵。在这里添加以防其他人会寻找相同的东西。
const stream = require('stream');
const check = new stream.Transform({
transform(data, encoding, callback){
// Discard if the string representation of the chunk is "abc"
if(data.toString() === 'abc') callback(null, Buffer.alloc(0));
else callback(null, data);
},
});
check.pipe(process.stdout);
check.write('123');
check.write('4567');
check.write('abc');
check.write('defg\n');
check.end();
编写一个 Duplex 流并将其粘贴在中间。
为了简化这一点,请查看event-stream
可以简化实现的库。