Web Streams API — standard JS API for chunked data processing. ReadableStream / WritableStream / TransformStream. Native in browsers + Node.js 18+. Enables fetch streaming response, on-the-fly compression, progressive rendering, SSE (Server-Sent Events). Key enabler for AI streaming responses, large file uploads.
Below: details, example, related terms, FAQ.
// Stream fetch response
const response = await fetch('/api/llm-chat');
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
output.textContent += decoder.decode(value);
}
// TransformStream — decrypt on-the-fly
const decryptor = new TransformStream({
transform(chunk, ctl) { ctl.enqueue(decrypt(chunk)); }
});Promise: one result. Stream: a sequence of chunks. For large responses (LLM, file upload) streams are critical — they do not block memory.
100% modern browsers (Chrome 89+, Firefox 102+, Safari 14.5+). Node.js 18+ has full Web Streams API.
compressionStream API (2024) — native gzip/deflate via Web Streams. Replaces pako, zlib usage.