SyntaxStudy
Sign Up
JavaScript Advanced 5 min read

Streaming Responses

Streaming with Fetch

Read large responses chunk by chunk using response.body.getReader() — ideal for progress bars and server-sent data.

Example
const res = await fetch("/api/large-file");
const reader = res.body.getReader();
const total = +res.headers.get("Content-Length");
let loaded = 0;
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  loaded += value.length;
  updateProgress(loaded / total * 100);
  processChunk(value);
}
Pro Tip

Streaming avoids buffering the entire response in memory — critical for large downloads.