1

如何丢弃 NodeJS 转换流中的一个块并从前一个流中读取下一个块?

stream.on('data',function(data){}).pipe(rulesCheck).pipe(step1).pipe(step2).pipe(step3).pipe(insertDataIntoDB);

如果它没有通过 ruleCheck 流中的某些标准,我想丢弃该块。

4

2 回答 2

0

抱歉主题死灵。在这里添加以防其他人会寻找相同的东西。

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();
于 2022-01-31T11:13:04.573 回答
-1

编写一个 Duplex 流并将其粘贴在中间。

为了简化这一点,请查看event-stream可以简化实现的库。

于 2019-06-07T17:46:13.363 回答