zlib: createZstdCompress 在调用 end() 而写入仍在队列中时,会附加一个空帧
作者: trotzig创建于 2026年9月17日更新于 2026年9月17日
我认为原因在于 `lib/zlib.js` 中: - 在 `ZlibBase#_transform` 中,当 `this.writableEnded && this.writableLength === chunk.byteLength` 时,最后一个队列中的块会被 `_finishFlushFlag` 处理,这会结束帧。 - `ZlibBase#_flush` 然后再次调用 `_transform`,使用一个空缓冲区。`writableEnded` 仍然为 true,`writableLength` 为 0,因此该调用也会得到 finish 标志。
内容来源: nodejs/node