我有以下代码适用于每个文件,除了一个不挂起而没有发出end
或error
事件的代码(我也尝试过其他流事件)。
const fs = require('fs');
const rs = fs.createReadStream(filePath, {
encoding: 'base64',
});
rs.on('data', () => {
console.log('data');
});
rs.on('end', () => {
console.log('end');
});
rs.on('error', e => {
console.log('error', e);
});
如果我将带有start
选项的读取点移动到1而不是0,则它可以正常工作。如果将highWaterMark
设置为默认值以外的值,则相同。它并没有真正帮助,因为它似乎可能会失败与其他"腐败"文件。
这似乎是Node bug,但也许我在这里缺少了一些东西。
我也会在这里发布文件,但首先我需要将其删除为仅损坏部分,因为它有些私密。
更新
此处提供重新创建问题的文件: http://s3.eu-west-1.amazonaws.com/jjapitest/file
更新
以下是该问题的互动演示: https://repl.it/repls/AnimatedDisguisedNumerator