概述Compression Streams 提供对 `gzip` 与 `deflate` 的原生压缩/解压能力,可在读取与网络传输过程中进行流式处理,降低带宽与加速传输。用法/示例// 压缩 Blob async function compress(blob) { const stream = blob.stream().pipeThrough(new CompressionStream('gzip')) const compressed = await new Response(stream).blob() return compressed } // 解压 ArrayBuffer async function decompress(buffer) { const stream = new ReadableStream({ start(controller) { controller.enqueue(new Uint8Array(buffer)); controller.close() } }).pipeThrough(new DecompressionStream('gzip')) return await new Response(stream).arrayBuffer() } 工程建议根据数据类型选择合适算法与块大小,避免主线程长时间处理导致卡顿。与 Web Streams 背压治理协同,必要时分片与节流以保证交互响应。校验服务端解码能力与内容协商头,确保跨端一致性。参考与验证MDN:Compression Streams — https://developer.mozilla.org/docs/Web/API/Compression_Streams_APIweb.dev:Compression Streams — https://web.dev/articles/compression-streams

发表评论 取消回复