Można tworzyć mniejsze aplikacje internetowe, które nie muszą zapewniać własnej biblioteki kompresji ani dekompresji.
Interfejs Compression Streams API służy do kompresowania i dekompresowania strumieni danych za pomocą formatu gzip lub deflate (czyli deflate-raw).
Aplikacje JavaScript z wbudowaną kompresją nie muszą zawierać biblioteki kompresji, dzięki czemu zmniejsza się rozmiar pliku do pobrania. Ten przydatny interfejs API obsługuje teraz stabilne wersje Chrome i Safari Technology Preview. Poniżej pokazano kompresowanie danych.
const readableStream = await fetch('lorem.txt').then(
(response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
new CompressionStream('gzip')
);
Aby dokonać dekompresji, przeciągnij skompresowany strumień przez strumień dekompresji.
const decompressedReadableStream = compressedReadableStream.pipeThrough(
new DecompressionStream('gzip')
);
Demonstracyjny
Obsługiwane przeglądarki
Interfejs kompresji Streams API jest obsługiwany w Chromium 80 i Safari Technology Preview 152. W przypadku innych przeglądarek zaznacz CanIUse.