Compression Stream API 提供了一种 JavaScript API,使用 gzip 或者默认格式压缩和解压缩数据流。 内置的压缩库意味着 JavaScript 应用不再需要包含其它压缩库,这使得应用程序的下载大小更小。
之前一直使用的是 pako 库的gzip压缩解压缩。今天逛MDN时,突然发现了这个原生API,也不知道是什么时候出现的。
1. CompressionStream:用于将数据流进行压缩的对象。它接收未经压缩的数据,并生成经过压缩的数据流。
2. DecompressionStream:用于将数据流进行解压缩的对象。它接收经过压缩的数据流,并生成未经压缩的数据。
const sourceData = new TextEncoder().encode("This is the source data");
const compressionStream = new CompressionStream("gzip");
const writableStream = new WritableStream();
const writer = writableStream.getWriter();
sourceData
.pipeThrough(compressionStream)
.pipeTo(writableStream);
writer.closed.then(() => {
// 压缩后的数据写入完成
console.log("Compression completed.");
});
文档尚不健全,可查资料较少,用法日后补充。